group by 的解析

group by 的用法

原则:

        1. 一般写在select 后面的 字段 必须出现在 grup by 字段里面

        2. 一般结合聚合函数使用

为什么一定不能是*, 或者是其他字段,而是group by 的列或者某个列的聚合函数

原理

执行顺序:

                程序执行时候会先执行 group by  语句 , 在执行完之后, 在虚拟的分组表中进行select 查询

例如:

                       SELECT name FROM student GROUP BY name

结果:

image-20200219171730104

执行时候, 会类似的产生这样一个临时表,

如果select name 字段, 返回的值是唯一, 不会报错.
此时要返回一个* 或者一个id 字段会产生返回多个值的情况, 会报错,
假设使用多个条件分组查询, 分组的字段也可以出现在select 中, 是因为的返回的值是唯一的.

附: 图来自于

https://blog.csdn.net/u014717572/article/details/80687042

表示感谢

posted @ 2020-02-19 17:30  庭有奇树  阅读(363)  评论(0编辑  收藏  举报