文档详情

SQL中GROUP_BY的用法SQL中GROUP_BY的用法.pdf

发布:2018-04-22约1.26万字共16页下载文档
文本预览下载声明
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
显示全部
相似文档