分组后如何提取具有最大值的行?

时间:2019-06-14 16:16:10

标签: mysql group-by max

我在一张桌子上工作,但语句有问题。我有一张表,其中包含MLB 2018赛季的成绩。该表的一栏是“ TotalRuns”,它描述了每个游戏的运行次数。我的问题是我找不到MLB 2018赛季的哪一天跑步次数最多。我的主意是这样写:

这实际上返回每天的TotalRuns最大值,但我想查看发生在哪一天。

*我知道LIMIT语句的另一种方法,但是如果2天或更多天具有要求的最大值*,这将不起作用。

有什么想法吗?

SELECT MAX(Runs) as MaximumRunsPerDay 
FROM   (SELECT Date, SUM(TotalRuns) as Runs FROM mlb
GROUP BY date) as m;

1 个答案:

答案 0 :(得分:1)

您需要一些子查询并加入

select date, runs 
from (
  SELECT Date, SUM(TotalRuns) as Runs 
  FROM mlb
  GROUP BY date
) t0 inner join  (
  select  max(Runs)  max_runs
  from (
    SELECT Date, SUM(TotalRuns) as Runs 
    FROM mlb
    GROUP BY date
  )t1
) t2 on t2.max_runs = t0.runs