it-swarm.com.de

Wie erhalte ich alle Daten vor und nach 10 Tagen Intervall?

    SELECT * FROM events  WHERE `date` 
    BETWEEN NOW() AND DATE_ADD
    (NOW(), INTERVAL 10 DAY) order by date

Ich verwende den obigen Code, um die Ereignisdaten von Intervallen von zehn Tagen zu extrahieren. Jetzt möchte ich alle Daten vor diesem Intervall von 10 Tagen und nach einem Intervall von 10 Tagen extrahieren. Wie kann ich das perfekt machen?

Bitte helfen Sie. Vorab danke für deine Zeit

4
Allen Titan

Es ist wahrscheinlich am besten, zwei Abfragen zu stellen.

SELECT * FROM events
    WHERE `date` >= NOW() - INTERVAL 10 DAY
      AND `date`  < NOW();

SELECT * FROM events
    WHERE `date` >= NOW()
      AND `date`  < NOW() + INTERVAL 10 DAY;

Sie könnten beide auf einmal bekommen, aber es könnte unpraktisch sein, wenn Sie sie trennen müssen:

SELECT * FROM events
    WHERE `date` >= NOW() - INTERVAL 10 DAY
      AND `date`  < NOW() + INTERVAL 10 DAY;

Wenn Sie auf Mitternacht anstatt auf der aktuellen Sekunde basieren möchten, verwenden Sie CURDATE() anstelle von NOW().

2
Rick James