vlambda博客
学习文章列表

MySql 分组后获取每组的最大值、最小值

我们需要获取每个班分数最高的人==全部信息==(或者最低的人)


最后查询结果如下:



一、思路

先找到每个班的最高分,然后再连接查询。


1-1、获取每个班最高分的sql

SELECT MIN(score) score FROM xdx_test GROUP BY class


1-2、连接查询出想要的结果

SELECT xdx_test.* FROM xdx_test LEFT JOIN (SELECT MAX(score) score FROM xdx_test GROUP BY class) a ON xdx_test.score = a.scoreGROUP BY xdx_test.class