问题:
首先搞明白group by的用法:
group by可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个汇总表
select字句中的列名必须为分组列或列函数.列函数对于group by字句定义的每个组返回一个结果
group by一般和聚合函数一使用才有意义,比如count,sum,avg等,使用group by 的两个要素:
(1)出现在select后面的字段,要么是聚合函数中的,要么是group by中的。
(2)要筛选结果,可以先使用where再用group by或者先用group by再用having。
所以问题就出现在 在使用group by 是要把前面查询的字段(未在group by所使用的表中出现的字段)放进一个聚合函数里,如max()、min()等。
解决方法如图: