养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

SQL查询:[4]分组查询

时间:2024-11-08 21:34:49

在实际应用中,我们经常需要做一些数据统计,将表的全部数据划分为镉胶鱿瓜几组数据,每组数据统计出一个结果。这种功能可以使用分组函数(多行函数、集合函数)来实现。在晦倘佳鳎Oracle数据库中,通过GROUPBY子句将分组的依据加入到查询语句中,并可使用HAVING子句进一步限制查询结果。主要有COUNT/AVG/SUM/MAX/MIN等几个分组函数。

工具/原料

已安装有Oracle数据库11g

已安装有OracleSQLDeveloper

分组函数的使用

1、COUNT:COUNT函数用来计算表中的总记录条数。如下图获取职员表中的职员人数:

SQL查询:[4]分组查询

2、AVG、SUM:AVG、SUM这两个函数用来统计列或表达式的平均值和和值。如下所示:

SQL查询:[4]分组查询

3、MAX、MIN:这两个函数用来获取列或表达式的最大值、最小值,可以用来统计任何数据类型。如下图:

SQL查询:[4]分组查询

GROUPBY短语及其子句2

1、上面的例子都是以整个数倌栗受绽据表作为一个组的,需要把数据表划分为一个一个小组,需要使用GROUPBY子句,把需要进行分组的列放在这邗锒凳审个子句后面,如果需要进一步限制分组后的结果,需要使用HAVING子句。使用语法如下:SELECT<*,column[alias],...>FROMtable[WHEREcondition(s)][GROUPBYgroup_by_expression][HAVINGgroup_condition][ORDERBYcolumn[ASC|DESC]];

2、单列分组:即分组的依据是一个列,如下图:

SQL查询:[4]分组查询

3、多列分组:即分组的依据是多个列,如下图:

SQL查询:[4]分组查询

4、GROUPBY子句中的ROLLUP操作符:捂执涡扔使用ROLLUP操作符可以先按照预定的字段分组,再计算分组计算结果后每行的小计,相当于对于每行数据又执行了一次组函数操作。小计的原则是根据所用分耘资诡拨组函数,具体实现如下图:

SQL查询:[4]分组查询

5、GROUPBY子句中的CUBE操作符:

SQL查询:[4]分组查询

6、使用HAVING子句限制分组结果:HAVING子句用来对分组后的结果进一步限制。如下图将平均薪水不小于3000才被显示出来:

SQL查询:[4]分组查询

© 一点知识