在数据库的操作中使用分组函数是经常的事情,但是用不好会经常出错,如何使用全在一个习惯,这里就浅谈一下分组函数的一点点注意事项,不到之处还请路过的高人多多指点:
首先分组函数的格式为:
SELECT colum,group_function(colum)
FROM table
[WHERE conditoin]
[GROUP BY group_by_expression]
[ORDER BY column]
1,从格式中可以看出,group by语句中可以有where条件查询的,但是必须要在分组之前,同样,如果有排序需要放在分组之后。
2,如果使用分组函数,SQL只可以把GROUP BY 分组条件字段和分组函数查询出来,不能有其他字段。也就是说分组函数有着严格的查询结果要求,必须是“select 函数+分组条件字段” 格式,其他格式都会报不是分组函数的错误
3如果使用分组函数,不使用group by 只可以查询出来分组函数的值
4,在分组条件查询中如果使用where/having条件查询的时候要注意:
where后面是不能书写分组函数如avg()count()等,只能书写其他非分组查询条件,而且要写在group by 之前
having关键字一般是用来书写分组函数条件进行查询的补充字段,在使用过程中方便了条件的查询,写在group by 之后