- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL中GROUP_BY的用法SQL中GROUP_BY的用法
SQL 中GROUP BY 的用法及常用聚合函数
问:select item.itemnum,item.in1,item.in4,inventory.location from
item,inventory where item.itemnum=inventory.itemnum and
inventory.location=DYBand item.in1=D/MTD/MRMGROUPBY ITEM.ITEMNUM
提示错误是NOT A GROUP BY EXPRESSION
那位高人能指点一下是我是那里出错了,还有GROUP BY 的用法
谢谢了哈!
答:
GROUP BY 是分组查询, 一般 GROUP BY是和 聚合函数配合使用,你可以想想,
你用了GROUP BY 按 ITEM.ITEMNUM 这个字段分组,那其他字段内容不同,变成一
对多又改如何显示呢,比如下面所示
A B
1 bc
1 bcd
1 asdfg
select A,B from table group by A
你说这样查出来是什么结果,
A B
abc
bcd
sdfg
右边3条如何变成一条,所以需要用到聚合函数,比如
select A,count(B) 数量 from table group by A
这样的结果就是
A 数量
3
group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,
必须出现在 group by 后面。
常用的聚合函数
AVG
AVG聚合函数计算一个组中非NULL值的平均值
COUNT
COUNT聚合函数返回一个显示组中行数的整数值
COUNT_BIG
和COUNT功能一样,只是COUNT_BIG返回bigint数据类型值
MAX
MAX聚合函数返回一组非NULL值中的最大值
MIN
MIN聚合函数返回一组非NULL值中的最小值
SUM
SUM聚合函数返回一个表达式中所有非NULL值的总和
STDEV
STDEV函数根据数据母体的样本返回由表达式提供的所有值的标准差
STDEVP
STDEVP函数也返回由表达式提供的所有值的标准差,只是它计算整个数据母
体
VAR
VAR 函数根据数据母体的样本返回由表达式提供的值的方差
VARP
VARP 函数也返回表达式整个数据母体提供的值的方差
聚合函数是对一组值执行计算并返回单一的值的函数,它经常与SELECT语句的
GROUP BY子句一同使用,SQL SERVER 中具体有哪些聚合函数呢?我们来一一看
一下:
1. AVG 返回指定组中的平均值,空值被忽略。
例:select prd_no,avg(qty) from sales group by prd_no
2. COUNT 返回指定组中项目的数量。
例:select count(prd_no) from sales
3. MAX 返回指定数据的最大值。
例:select prd_no,max(qty) from sales group by prd_no
4. MIN 返回指定数据的最小值。
例:select prd_no,min(qty) from sales group by prd_no
5. SUM 返回指定数据的和,只能用于数字列,空值被忽略。
例:select prd_no,sum(qty) from sales group by prd_no
6. COUNT_BIG 返回指定组中的项目数量,与COUNT函数不同的是COUNT_BIG返
回bigint值,而COUNT返回的是int值。
例:select count_big(prd_no) from sales
7.GROUPING 产生一个附加的列,当用CUBE或ROLLUP运算符添加行时,输出值
为1,当所添加的行不是由CUBE或ROLLUP产生时,输出值为0.
例:select prd_no,sum(qty),grouping(prd_no) from sales group by prd_no
with rollup
8. BINARY_CHECKSUM 返回对表中的行或表达式列表计算的二进制校验值,用于
检测表中行的更改。
例:select prd_no,binary_checksum(qty) from sales group by prd_no
9. CHECKSUM_AGG 返回指定数据的校验值,空值被忽略。
例:sel
文档评论(0)