Name Day Points Brian 1 6 Tom 1 11 Freddy 1 7 Kim 2 10 Sandra 2 1 Brian 2 3
我需要知道谁以最大优势赢得第二名 - 但仅限于同一天的人之间。
因此,如果做得正确,它会告诉我 Kim 以最大优势获胜。
我不太知道如何处理这个问题。
最佳答案
select
first_place.name,
max_points-max(points) as max_margin
from the_table
inner join
(select name, day, max(points) as max_points
from the_table group by day) as first_place
on the_table.day=first_place.day
where the_table.points<max_points
group by the_table.day
order by max_margin desc limit 1 ;
关于mysql - 显示组内第一名和第二名之间的最大差距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4713898/