今天从00:00到23:59汇总

时间:2015-09-12 13:02:54

标签: mysql

有人可以帮我提高查询的准确性。

目前它从当前时间到昨天的时间总和。相反,我想要从今天00:00到23:59更精确的1天时间框架。

请保持代码简单。

谢谢

SELECT name, SUM(quantity)
    FROM downloads d
WHERE date BETWEEN DATE_SUB( now() , INTERVAL 1 DAY ) AND NOW() 

1 个答案:

答案 0 :(得分:3)

你可以使用CURRENT_DATE()函数,它将返回今天的当前日期,没有时间信息:

SELECT name, SUM(quantity)
FROM downloads d
WHERE
  date>=CURRENT_DATE()
  AND date<CURRENT_DATE() + INTERVAL '1' DAY

请注意,您选择的name列未汇总。您可能希望将其从SELECT中删除,或添加GROUP BY name子句,但哪一个更好取决于您的意图。

我比WHERE DATE(date) = CURRENT_DATE()更喜欢这个解决方案,因为我的解决方案可以使用索引并且具有更好的性能。