2014-01-05 58 views
0

我有以下SQL查詢,它爲當前日期提供良好的數據,我如何設置此查詢查詢一個星期的數據從curdate?添加星期到日期查詢

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

很多謝謝。

回答

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'AND DATE(calldate)> DATE _add(CURDATE(),INTERVAL -7 DAY)

+0

我認爲OP希望DATE的'結果(\'calldate \')> DATE_ADD(CURDATE(),INTERVAL -7 DAY)' – Paul

+0

那可能的。我不確定他在找什麼日期(前進,後退,等於,大於,小於,等等)。我希望能給他一個功能可以計算日期差異的想法,他可以從那裏去。我將用更多信息編輯帖子。 –

+1

謝謝Paul&James – user3148002

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