2016-11-09 79 views
0

我已經準備了一個MySQL查詢通過排除特定日期 即如何排除特定日期

的列表。如果我傳遞日期來從給定日期確切第七過去的日期擺脫過去7日2016-10-21然後output'll是2016-10-12由給定逗號排除特定日期分隔日期2016-10-16,2016-10-15,2016-10-10爲了這個,我已經試過的東西

SELECT * 
FROM 
table where id = 46 and 
(
startdate >= DATE_SUB("2016-10-21 00:00:00",INTERVAL 7 DAY) and 
startdate <= DATE_SUB("2016-10-21 23:59:59",INTERVAL 7 DAY) and 
startdate NOT IN ('2016-10-16 00:00:00','2016-10-15 00:00:00','2016-10-10 00:00:00') 
) 

但它似乎並不如預期的工作。如何排除這些給定逗號分隔日期DATE_SUB函數內

輸入:2016-10-21 預期輸出:2016-10-12

+0

請向我們展示樣品輸入和所需輸出。你的問題不清楚。 –

+0

你的意思是,從給定開始日期開始回溯X日,並繞過在預定義列表中找到的日期? – FDavidov

+0

是@FDavidov多數民衆贊成在我正在尋找,但現在'X = 7' – devmyb

回答

1

首先我會從今天的日期。減去,每個排除日期。如果結果是< = 7,我會爲每個計數增加'c'計數器。

最後,我只需要將'c'添加到'7',並使用起始日期和向計數器添加7的結果創建一個簡單的DATE_SUB。