mysql分组查询:order by的使用
分组查询,就是根据order by 指定的规则对数据进行分组,开发中会经常遇到像查询每个部门的人数、每个班级的人数这样的问题,就可以用分组查询来解决。 语法: 注意点:
- 查询除分组函数外的字段,必须要出现在 group by之后
- where字句紧跟group by字句,where操作的是原始表对象,where后面的条件判断要么是操作常量要么是原始表中的字段,where字句中不能使用分组函数,因为where字句的执行顺序高于分组函数;如果对分组的数据需要过滤则使用having关键字,having操作的是分组后的结果集(虚拟表)
- 注意where筛选器和having筛选器的使用区别: where过滤器操作的是原始表数据,一般来说,分组之前的过滤放在where子句中;分组之后的过滤放在having子句中,但是如果having过滤条件操作的是原始表的字段,也可以放在where中,且效率更高。
下一篇:
MySQL创建索引/判断索引是否生效