- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL中GROUPBY的用法.
SQL中GROUP BY的用法及常用聚合函数
问:select item.itemnum,item.in1,item.in4,inventory.location from item,inventory where item.itemnum=inventory.itemnum and inventory.location=DYB and item.in1=D/MTD/MRM GROUP BY ITEM.ITEMNUM
提示错误是NOT A GROUP BY EXPRESSION那位高人能指点一下是我是那里出错了,还有GROUP BY的用法谢谢了哈!
答:
GROUP BY 是分组查询, 一般 GROUP BY是和 聚合函数配合使用,你可以想想,你用了GROUP BY 按 ITEM.ITEMNUM 这个字段分组,那其他字段内容不同,变成一对多又改如何显示呢,比如下面所示
A B
1 bc
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_no2. 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_no5. SUM 返回指定数据的和,只能用于数字列,空值被忽略。例:select prd_no,sum(qty) from sales group by prd_no6. COUNT_BIG 返回指定组中的项目数量,与COUNT函数不同的是COUNT_BIG返回bigint值,而COUNT返回的是int值。例:select count_big(prd_no) from sales7. GROUPING 产生一个附加的列,当用CUBE或ROLLUP运算符添加行时,输出值为1,当所添加的行不是由CUBE或ROLLUP产生时,输出值为0.例:select prd_no,sum(qty),grouping(prd_no) from sales group by prd_no with rollup8. BINARY_CHECKSUM 返回对表中的行或表达式列表计算的二进制校验值,用于检测表中行的更改。例:select prd_no,binary_checksum(qty) from sales group by prd_no9. CHECKSUM_AGG 返回指定数据的校验值,空值被忽略。例:select prd_no,checksum_agg(binary_checksum(*)) from sales group by prd_no10. CHECKSUM
文档评论(0)