group by 的解析
group by 的用法
原则:
1. 一般写在select 后面的 字段 必须出现在 grup by 字段里面
2. 一般结合聚合函数使用
为什么一定不能是*, 或者是其他字段,而是group by 的列或者某个列的聚合函数
原理
执行顺序:
程序执行时候会先执行 group by 语句 , 在执行完之后, 在虚拟的分组表中进行select 查询
例如:
SELECT name FROM student GROUP BY name
结果:
执行时候, 会类似的产生这样一个临时表,
如果select name 字段, 返回的值是唯一, 不会报错.
此时要返回一个* 或者一个id 字段会产生返回多个值的情况, 会报错,
假设使用多个条件分组查询, 分组的字段也可以出现在select 中, 是因为的返回的值是唯一的.
附: 图来自于
https://blog.csdn.net/u014717572/article/details/80687042
表示感谢