Oracle高级查询实例讲解

1.分组查询

1.1分组函数

1.定义:分组函数作用于一组数据,并对一组数据返回一个值。

2.常用的分组函数:

.AVG(求平均值)

.SUM(求和)

.MIN(求最小值)

.MAN()

.COUNT

.WM_CONCAT(字符串拼加)

例如:

1.2 分组函数与空值(null)

在分组函数中使用NVL函数,可以使分组函数无法忽略空值。

例如:

1.3 group by子句

1.在select列表中为包含在组函数的列都应该包含在group by子句中

2.包含在group by 子句中的列不必包含在select列表中

3.group by 后面不允许使用列的别名

4.根据多个列分组

根据多个列分组,即先根据group by后面的第一列进行分组,然后在根据后面的列依次分组。

5.非法使用组函数

所用包含于select列表中,而未包含于组函数中的列,都必须包含于group by子句中

1.4 having子句过滤分组

1.用having子句来限定分组:1.行被分组了

2.使用了分组函数

3.符合having子句条件的组被显示出来

2.where子句和having子句的区别:1.where子句中不能使用组函数

2.having子句中可以使用组函数

3.在where和having子句可以通用的情况下,从SQL优化的角度来看,尽量使用where子句

1.5 在分组查询中使用order by子句

使用order by 进行排序时可以按照列、别名、表达式、序号进行排序。

例如:

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐