将周间隔添加到日期查询

时间:2014-01-05 15:10:59

标签: mysql

我有以下SQL查询可以很好地提供当前日期的数据,如何设置此查询以查询来自curdate的一周数据?

SELECT count( * ) as today_total_4 
FROM cdr 
WHERE dcontext='ext-queues' AND DATE(`calldate`) = DATE(CURDATE())

非常感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用DATE_ADD函数从现在开始一周获取日期。 (向前或向后)

http://www.w3schools.com/sql/func_date_add.asp

SELECT count( * ) as today_total_4 
 FROM cdr 
 WHERE dcontext='ext-queues' AND DATE(`calldate`) = DATE_ADD(CURDATE(), INTERVAL 7 DAY)

根据您的查询要求,您可以使用以下方式计算7天:

DATE_ADD(CURDATE(), INTERVAL -7 DAY)

如果您希望自一个星期前查询成为一切,那么您将更改查询以使其具有以下where子句:

WHERE dcontext ='ext-queues'和DATE(calldate)> DATE_ADD(CURDATE(),INTERVAL -7 DAY)

答案 1 :(得分:0)

SELECT count( * ) as today_total_4 
FROM cdr 
WHERE dcontext='ext-queues' AND WHERE WEEK(`calldate`) = WEEK(DATE(CURDATE()))