0

是否可以在特定时间段内计算一天中特定时间的数据?

我有大量数据,想计算特定时间段内特定时间之间收集的“金额”。

例如:下面,我想将 7 月 1 日至 31 日 00:00 - 14:59 之间收集的金额作为“金额 1”和 15:00 - 20:59 之间收集的金额作为“金额 2”相加七月。“总金额”=“金额 1”+“金额 2”

sum(if('2012-07-01 00:00:00' 和 '2012-07-31 14:59:00',(Amount),0)) as 'Amount 1', sum(if(Date在“2012-07-01 15:00:00”和“2012-07-31 20:59:00”之间,(金额),0))作为“金额 2”,总和(金额)作为“总金额”

但是,“总金额”的结果与“金额 1”+“金额 2”不匹配。

4

1 回答 1

1

您没有对您的总金额字段施加任何限制(即没有日期或时间限制,因此包含您的日期/时间范围之外的数据。您可以像在其他字段中一样将条件逻辑添加到您的总和(金额)中或添加这样的 WHERE 子句:

WHERE DATE(Amount) BETWEEN '2012-07-01' and '2012-07-31'
AND TIME(Amount) BETWEEN '00:00:00' and '20:59:00'

这将允许您正确计算总金额,并允许您在时间范围求和逻辑中删除日期范围条件。

于 2012-08-07T16:08:40.343 回答