sql语句GroupBy用法 sql语句中like的用法

sql语句Group By用法一则2007-10-25 12:00
sql语句GroupBy用法一则
如果我们的需求变成是要算出每一间店(store_name) 的营业额(sales),那怎么办呢?在这个情况下,我们要做到两件事:第一,我们对于store_name 及 Sales 这两个栏位都要选出。第二,我们需要确认所有的sales 都要依照各个 store_name来分开算。这个语法为:

SELECT "栏位1", SUM("栏位2") FROM "表格名" GROUPBY"栏位1"

在我们的示范上,

Store_Information 表格
store_nameSalesDate
LosAngeles$1500Jan-05-1999
SanDiego$250Jan-07-1999
LosAngeles$300Jan-08-1999
Boston$700Jan-08-1999
我们就打入, SELECT store_name,SUM(Sales)FROM Store_Information GROUP BYstore_name

结果:

store_nameSUM(Sales)
Los Angeles$1800
San Diego$250
Boston$700

SQL之GROUP BY 之二

首先讲讲GROUP BY 子句语法:



sql语句GroupBy用法 sql语句中like的用法
SELECT column1, SUM(column2)



FROM "list-of-tables"



GROUP BY "column-list";

例子如下:一个销售表sales:
workernamesalemoney
a13000
a22000
a31000
a23000

sql要求,查询每个员工的总销售总额:

select workername,sum(salemoney) from sales group byworkername

sql要求,查询总销售额最大的员工姓名跟销售额:

select workername,max(salemoney) from sales group byworkername

sql要求,查询总销售额大于等于2000的员工姓名跟销售额:

select workername,sum(salemoney) from sales group by workernamehaving sum(salemoney)>=2000



group by 有一个原则,就是 select后面的所有列中,没有使用聚合函数的列,必须出现在 group by后面

说白了就是select 所取出的字段 在分组里必须有

但是排除被合计的字段

比如 select a,b,c from table group by a,b,c

这里 group by 里 必须有a,b,c

如果改成 select a,b,sum(c) from table groupby a,b
这里 因为c被合计了 所以按照a,b分组就可以了

同样的合计函数还包括max count 等等!

groupby

在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。groupby子句可以将查询结果分组,并返回行的汇总信息Oracle按照groupby子句中指定的表达式的值分组查询结果。

在带有groupby子句的查询语句中,在select列表中指定的列要么是groupby子句中指定的列,要么包含聚组函数

selectmax(sal),jobempgroupbyjob;
(注意max(sal),job的job并非一定要出现,但有意义)

查询语句的select和groupby,having子句是聚组函数唯一出现的地方,在where子句中不能使用聚组函数。

selectdeptno,sum(sal)fromempwheresal>1200groupbydeptnohavingsum(sal)>8500orderbydeptno;

当在gropuby子句中使用having子句时,查询结果中只返回满足having条件的组。在一个sql语句中可以有where子句和having子句。having与where子句类似,均用于设置限定条件

where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。

查询每个部门的每种职位的雇员数
selectdeptno,job,count(*)fromempgroupbydeptno,job

  

爱华网本文地址 » http://www.aihuau.com/a/25101016/310466.html

更多阅读

英语中副词的用法 英语中形容词的用法

英语中副词的用法——简介副词(adverb)是一类用以修饰动词(相当于英语的verb)或加强描绘词组或整个句子的词,修饰名词的词一般为形容词,又称限制词。 英语中副词的用法——方法/步骤英语中副词的用法 1、一般副词的位置  在许多情

转载 js中return的用法 c return的用法

原文地址:js中return的用法作者:风依旧_旭一、返回控制与函数结果,语法为:return 表达式;语句结束函数执行,返回调用函数,而且把表达式的值作为函数的结果二、返回控制,无函数结果,语法为:return;

破折号用法竞赛转载 英语中破折号的用法

“——”,破折号是小学课文中常见的标点符号,它一般有以下几种用法:1、“这是一年的最后一天——大年夜。”  2、“那是一双很大的拖鞋——那么大,一向是她妈妈穿的。”  3、“每个窗子里都透出灯光来,街上飘着一股烤鹅的香味,因为这

SQL Server 中方括号的作用 sql server 中括号

sql server中方括号“[]”的作用1:匹配指定范围内或者属于方括号所指定的集合中的任意单个字符。作用2:[] 里的内容表示是一个用户级的变量.目的是防止用户使用的名称和系统保留字冲突比如你有一个表名就叫select那么你select * from

Hibernate中Criteria的用法 java写计算器

2008年08月04日 09:39:25Hibernate中Criteria的完整用法(转载)说明:该文内容为转载,因对自己有用,故保留下来,但是因为当时没记录博客地址,所以无法说明来源了!之后的两篇关于面向接口编程的文章也是如此 !Hibernate中Criteria的完整用法2008

声明:《sql语句GroupBy用法 sql语句中like的用法》为网友俊的抽象分享!如侵犯到您的合法权益请联系我们删除