SQL查询:[4]分组查询

2025-04-18 08:27:57

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

工具/原料

已安装有Oracle数据库11g

已安装有Oracle SQL Developer

分组函数的使用

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

SQL查询:[4]分组查询

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

SQL查询:[4]分组查询

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

SQL查询:[4]分组查询

GROUP BY短语及其子句2

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]分组查询

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

SQL查询:[4]分组查询

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

SQL查询:[4]分组查询

5、GROUP BY子句中的CUBE操作符:

SQL查询:[4]分组查询

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

SQL查询:[4]分组查询
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
相关推荐
  • 阅读量:73
  • 阅读量:76
  • 阅读量:30
  • 阅读量:24
  • 阅读量:86
  • 猜你喜欢