分组函数
是将表作一个整体或分成若干个小组,以小组为单位进行数据处理,每组得到一个结果
注意
在分组函数中除了count(*)外,所有的函数都自动忽略空行
如果在select子句后的内容中使用了分组函数,
那么这些列要么在分组函数中,要在group by中
格式
min(distict 列名 | 表达式)
max(distict 列名 | 表达式)
sum(distict 列名 | 表达式)
avg (distict 列名 | 表达式)
count(distict 列名 | 表达式 | * )
分组子句
group by
格式,group by 列名1,列名2。。。
说明,group by后边列越多时,分出组也越多
筛选分组子句
having
格式,having 条件表达式
说明,当判断条件中有分组函数时,要将其写在having子句中
select语句的执行过和
书写顺序:
select from where group by having order by
执行顺序
from where group by having select order by
分组函数的嵌套
单行函数的嵌套可以有多层,to_date(to_char(substr(…
分组函数的嵌套只有两层