SQL查询:[4]分组查询
1、COUNT:
COUNT函数用来计算表中的总记录条数。如下图获取职员表中的职员人数:
![SQL查询:[4]分组查询](https://exp-picture.cdn.bcebos.com/0d2fe5f202b375d76f46fd47515872dadf49d890.jpg)
2、AVG、SUM:
AVG、SUM这两个函数用来统计列或表达式的平均值和和值。如下所示:
![SQL查询:[4]分组查询](https://exp-picture.cdn.bcebos.com/df087f0f8b56ad04d055515adae10ef85956d090.jpg)
3、MAX、MIN:
这两个函数用来获取列或表达式的最大值、最小值,可以用来统计任何数据类型。如下图:
![SQL查询:[4]分组查询](https://exp-picture.cdn.bcebos.com/50a010f85856d53dac1a9e5a47d2bb665059ca90.jpg)
1、上面的例子都是以整个数据表作为一个组的,需要把数据表划分为一个一个小组,需要使用GROUP BY子句,把需要进行分组的列放在这个子句后面,如果需要进一步限制分组后的结果,需要使用HAVING子句。使用语法如下:
SELECT <*,column [alias],...> FROM table
[WHERE condition(s)]
[GROUP BY group_by_expression]
[HAVING group_condition ]
[ORDER BY column[ASC|DESC]];
2、单列分组:
即分组的依据是一个列,如下图:
![SQL查询:[4]分组查询](https://exp-picture.cdn.bcebos.com/84010e2a04e23ea2377ce6c92b10bc33ed38c390.jpg)
3、多列分组:
即分组的依据是多个列,如下图:
![SQL查询:[4]分组查询](https://exp-picture.cdn.bcebos.com/0d55dc7bd2828689b878f10265f97fbd4d7c3791.jpg)
4、GROUP BY子句中的ROLLUP操作符:
使用ROLLUP操作符可以先按照预定的字段分组,再计算分组计算结果后每行的小计,相当于对于每行数据又执行了一次组函数操作。小计的原则是根据所用分组函数,具体实现如下图:
![SQL查询:[4]分组查询](https://exp-picture.cdn.bcebos.com/b6f0f0f97fbd4c7c2a8d7af2b8bad341027d3091.jpg)
5、GROUP BY子句中的CUBE操作符:
![SQL查询:[4]分组查询](https://exp-picture.cdn.bcebos.com/32fbcd41037de137ed48640ff6c5cf672a5f2a91.jpg)
6、使用HAVING子句限制分组结果:
HAVING子句用来对分组后的结果进一步限制。如下图将平均薪水不小于3000才被显示出来:
![SQL查询:[4]分组查询](https://exp-picture.cdn.bcebos.com/ce26355fd5460596932ab2633e03c8d247fe2591.jpg)
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:75
阅读量:58
阅读量:187
阅读量:144
阅读量:131