前提:SQL函数的两个概念
聚敛函数:对多条记录进行操作的函数,如SUM、COUNT、MIN、MAX、AVG。
其他函数:对单条记录进行操作的函数,如ABS、CEIL、SQRT等。
举个例子:
SELECT ABS(xxx) FROM tbl; -- 这里的ABS函数,就是对单条记录进行操作的函数。
SELECT COUNT(*) FROM tbl; -- 这里的COUNT函数,就是对多条记录进行操作的函数。
再来看看 group by:
group by 后面跟随的只能是字段!顾名思义,是按照某个字段进行分组!!!分组之后呢?当然是要进行某些操作了。
顾名思义,group by 就是“按照组”来进行某些操作。
既然是分组后的操作,那必定是多条记录,所以只能使用聚敛函数(当然也可以什么函数都不用)。
想一下,按照组是按照什么组??? 这就是由 group by 后面跟随的字段来决定了。
举个例子,我们有一个表teacher,它有四个字段:id INT, name CHAR, gender CHAR, major INT 。
我们能怎么分组?当然只能在这些字段中分组了!
例如,按照性别gender来分组,或者按照专业major来分组。
>>>>>>>>>>>未完待续· 研究下MySQL是很有意思的事情
参考:
https://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html
https://dev.mysql.com/doc/refman/5.7/en/group-by-modifiers.html