我有以下SQL查询可以很好地提供当前日期的数据,如何设置此查询以查询来自curdate的一周数据?
SELECT count( * ) as today_total_4
FROM cdr
WHERE dcontext='ext-queues' AND DATE(`calldate`) = DATE(CURDATE())
非常感谢。
答案 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()))