我有一个表,其中每 15 分钟记录一次降雨量,因此一天的总降雨量是 95 条记录中的“雨量”之和。以下查询正确返回日期列表和当天的降雨量。
select thedate as tdate,sum(rain) as dailyrain
from weatherdata
group by year(thedate), month(thedate), day(thedate)
(日期存储为日期时间,雨存储为整数)
我现在想将其作为子查询并返回出现最大降雨量的日期。
我下面的查询正确返回了最大降雨量,但没有返回与该降雨相关联的正确日期。
select maxdate,max(dailyrain) from (select thedate as maxdate,sum(rain) as dailyrain
from weatherdata
group by year(thedate), month(thedate), day(thedate)) as maxrain
我想我可能必须使用 JOIN。我知道这里已经回答了许多类似的问题,但我无法完全正确地使用语法来完成这项工作。任何帮助将不胜感激。
最佳答案
SELECT DATE(thedate) as tdate, sum(rain) as dailyrain
FROM weatherdata
GROUP BY DATE(thedate)
ORDER BY sum(rain) DESC, DATE(thedate) DESC
LIMIT 1 ;
或:
SELECT DATE(thedate) as tdate, sum(rain) as dailyrain
FROM weatherdata
GROUP BY DATE(thedate)
ORDER BY dailyrain DESC, tdate DESC
LIMIT 1 ;
关于MySQL - 子查询的 max( ) 行值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21056685/