PHP 查询,获取过去 7 天("complete" 天)的结果



我有这个查询,它输出过去7天每天的行数。我如何改变它,让我只有"完整的日子"?含义:今天的结果将不被计算(因为今天没有"完成")。

SELECT date(downloaddate), COUNT(id) AS num_downloads, 
       SUM(filesize) AS daily_filesize
FROM downloads 
WHERE downloaddate > now() - INTERVAL 1 WEEK 
GROUP BY date(downloaddate)

使用curdate()。与now()不同,它不包括时间,因此您可以有效地将downloaddate与时间为'00:00:00'(一天的开始)的今天日期进行比较。

ie。

SELECT date(downloaddate), COUNT(id) AS num_downloads, 
    SUM(filesize) AS daily_filesize 
FROM downloads 
WHERE downloaddate < CURDATE() 
    AND downloaddate > CURDATE() - INTERVAL 1 WEEK 
GROUP BY date(downloaddate)

您已经使用date()来获取日期部分。将它的用法扩展到where子句中,或者使用curdate()作为date(now())的简写,如:

WHERE    downloaddate BETWEEN curdate()
                      AND curdate() - INTERVAL 1 WEEK)

这将占用整整7天,直到昨晚午夜。

最新更新