2016-10-23 3 views
2

Ich führte meine Abfrage zusammen, um die letzten 7 Tage auszuwählen, und ich änderte es so, dass es die letzten 7 Tage nach dem Datum statt NOW() auswählen soll, wenn ich dies tue es wird zu Ergebnissen führen 7 Tage vor dem Tag, und dann jeden Eintrag nach dem Datum:MySQL Interval Issue Extra Ergebnisse

date Ascending 
2016-10-02 
2016-10-03 
2016-10-05 
2016-10-06 
2016-10-07 
2016-10-17 
2016-10-18 
2016-10-20 
2016-10-21 
2016-10-22 
2016-10-23 

Wenn es dem Export werden soll:

date Ascending 
2016-10-02 
2016-10-03 
2016-10-05 
2016-10-06 
2016-10-07 

die Abfrage:

SELECT DATE 
FROM `dates` 
WHERE DATE > ( '2016-10-08' - INTERVAL 1 WEEK) 
ORDER BY `date` 

Ich schätze Ihre Hilfe, ich kann das einfach nicht herausfinden.

Antwort

2

Dann ein zusätzlichen Kriterien für die where Klausel fügen Sie die zurückgegebenen Datensätze am angegebenen Datum deckeln:

WHERE DATE > ( '2016-10-08' - INTERVAL 1 WEEK) AND DATE <= '2016-10-08' 

jeden Tag nach dem angegebenen Datum vor dem angegebenen Datum als 1 Woche größer sein wird, deshalb brauchen Sie das zusätzliche Kriterium haben.

+0

Ihre magische und wunderbare - das hat perfekt funktioniert! Vielen Dank! –

+0

Eine gut geschriebene Frage verdient eine Antwort :) – Shadow