关于最大值和列名称之间的关系

时间:2015-07-28 03:03:43

标签: mysql

抱歉,我对最大值和列名称之间的关系有疑问。

我的表格如下所示:

===========================

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

===========================

我尝试了很多方法,但最终却失败了。

我该怎么办?

2 个答案:

答案 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。