无法仅在列上选择MAX值的行

时间:2018-06-12 15:11:50

标签: mysql sql

我需要从表match中选择具有最高值字段gameweek的所有行,因此请构建此查询:

SELECT m.id, MAX(m.gameweek) FROM `match` m WHERE round = 3 

问题是这将返回round = 3

的所有行

2 个答案:

答案 0 :(得分:2)

您的要求不是那么明确,添加分组可以解决您的问题,

仍然基于我对你的问题的理解,我认为你需要下面的东西,它甚至不是一个理想的解决方案。如果你能澄清一点,可以给你更多,

SELECT * from match where gameweek = ( select max(gameweek) FROM match);

答案 1 :(得分:0)

与表格中的最大游戏周相比,您需要对每一行游戏周进行比较。尝试这样的事情。

SELECT m.id, m.gameweek
FROM `match` m 
WHERE round = 3 AND m.gameweek = (SELECT MAX(gameweek) 
                                  FROM match);