【发布时间】:2014-01-10 23:58:48
【问题描述】:
我有一张表格,其中每 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。我知道这里已经回答了许多类似的问题,但我无法完全正确地使用语法来完成这项工作。任何帮助将不胜感激。
【问题讨论】:
-
您也可以将群组更改为
GROUP BY DATE(thedate)。效率会稍微高一些。 -
这里不需要子选择,只是适当的分组。