mysql - 显示组内第一名和第二名之间的最大差距

标签 mysql

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/

相关文章:

mysql - mySQL 不能在表之间共享外键吗?

php - 列出数据库中的所有表

php - 数组插入mysql行

php - Magento 文件夹更改

C# MySQL SQL 更新/插入

php - 我的 PDO 请求有什么问题?

mysql - Laravel 5.2,更新到 El Capitan 后连接被拒绝

mysql - 不同角色用户的最佳表结构

mysql - 需要查询从另一个表中的多个字段中提取不同的数字列表

mysql - MYSQL建表报错150的问题