mysql在某些日期内计算某段时间之间的数据

时间:2012-08-07 16:02:56

标签: mysql

是否有可能在一天的特定时间内计算数据?

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

例如:下面,我想将从00:00到14:59之间收集的金额作为“金额1”和从15:00到20:59之间收集的金额作为“金额2”从7月1日到七月三十一日'总金额'='金额1'+'金额2'

总和(if('2012-07-01 00:00:00'和'2012-07-31 14:59:00'之间的日期,(金额),0))为'金额1', sum(if('2012-07-01 15:00:00'和'2012-07-31 20:59:00'之间的日期,(金额),0))为'金额2', 总和(金额)为“总金额”

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

1 个答案:

答案 0 :(得分:1)

您没有对总金额字段进行任何限制(即没有日期或时间限制,因此包含了您日期/时间范围之外的数据。您可以添加条件逻辑到您的金额(金额),就像您所做的那样其他字段或添加如下的WHERE子句:

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

这样可以正确计算总金额,还可以在疼痛时间范围求和逻辑中删除日期范围条件。