抱歉,我对最大值和列名称之间的关系有疑问。
我的表格如下所示:
===========================
basinID StationID降雨量
LPS C0R540 101.5
LPS C0R600 13.5
LYS 01U050 23
LYS 01U080 3
===========================
我需要在basinID和StationID上找到最大值。
答案如下所示:
===========================
basinID StationID降雨量
LPS C0R540 101.5
LYS 01U050 23
===========================
我尝试了很多方法,但最终却失败了。
我该怎么办?
答案 0 :(得分:0)
尝试下面的解决方案:
SELECT *
FROM (SElECT * FROM mytable ORDER BY Rainfall DESC) x
GROUP BY `Rainfall`
这是有效的,因为在mysql中你不允许聚合非分组列,在这种情况下,mysql只返回第一行。
答案 1 :(得分:0)
也许是这样的?
SELECT t1.basinID, t1.StationID, t1.Rainfall
FROM mytable t1
LEFT JOIN mytable t2 ON t1.basinID = t2.basinID AND t1.Rainfall < t2.Rainfall
WHERE t1.basinID IS NULL;
LEFT JOIN
的工作原理是,当t1.Rainfall处于最大值时,没有t2.Rainfall值更大,t2行值将为NULL。