我有一个像这样的MySQL表。
| season_id | round_1 | names | score_round_1
| 5 | 10 | John1 | 5
| 5 | 10 | John2 | 3
| 5 | 11 | John3 | 2
| 5 | 11 | John4 | 5
我想在每个round_1(10,11)组中选择score_round_1最高的记录。
在这种情况下,将选择第一行和最后一行。
我尝试使用GROUP BY round_1,但只返回两者中的第一行。
有什么建议吗?
Zolka
答案 0 :(得分:0)
使用汇总功能MAX
SELECT names, MAX(score_round_1) GROUP BY round_1
答案 1 :(得分:0)
SELECT *
FROM table p1
WHERE score_round_1 = (
SELECT MAX( p2.score_round_1 )
FROM table p2
WHERE p1.round_1 = p2.round_1 ) ANDround_1 !=0
答案 2 :(得分:0)
这很简单
select max(score_round_1),
name
from score
group by round_1