MYSQL-group by 用法解析
group by 用法
group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。
SELECT子句中的列名必须为分组列或列函数。列函数对于GROUP BY子句定义的每个组各返回一个结果。
某个历史观影进度记录表结构和数据如下:
例如,我想列出每个人的最新一条观影记录,sql语句如下:
SELECT user_id, MAX(updated_at) AS MAXIMUM
FROM movie_histories
GROUP BY user_id;
查询结果如下:
解释一下这个结果:
1、满足“SELECT子句中的列名必须为分组列或列函数”,因为SELECT有GROUP BY user_id中包含的列user_id。
2、“列函数对于GROUP BY子句定义的每个组各返回一个结果”,根据用户分组,对每个用户返回一个结果,就是每个用户的最后观影时间。
注意:计算的是每个用户(由 GROUP BY 子句定义的组)