Heim >Datenbank >MySQL-Tutorial >Wie können INTERVAL und CURDATE Datumsbereichsabfragen in MySQL vereinfachen?
Arbeiten mit INTERVAL und CURDATE in MySQL
In MySQL können Sie INTERVAL verwenden, um Abfragen mit Datumsbereichen zu vereinfachen. Anstatt mehrere Abfragen zu schreiben, um Daten für verschiedene Zeiträume abzurufen, können Sie INTERVAL verwenden, um einen Bereich relativ zum aktuellen Datum anzugeben.
Um beispielsweise Daten für die letzten 12 Monate abzurufen, können Sie Folgendes verwenden Abfrage:
<code class="sql">SELECT s.GSP_nom AS nom, timestamp, AVG( v.vote + v.prix ) /2 AS avg FROM votes_serveur AS v INNER JOIN serveur AS s ON v.idServ = s.idServ WHERE s.valide =1 AND v.date > DATE_SUB(CURDATE(), INTERVAL 12 MONTH) GROUP BY s.GSP_nom ORDER BY avg DESC</code>
In dieser Abfrage gibt das INTERVALL 12 MONAT einen Bereich von 12 Monaten relativ zum aktuellen Datum an. Indem Sie DATE_SUB verwenden, um dieses Intervall von CURDATE() zu subtrahieren, definieren Sie den Beginn des Bereichs.
Alternativ können Sie DATE_ADD verwenden, um ein Intervall zum aktuellen Datum hinzuzufügen. Die folgende Abfrage ruft beispielsweise Daten für die nächsten 6 Monate ab:
<code class="sql">SELECT s.GSP_nom AS nom, timestamp, AVG( v.vote + v.prix ) /2 AS avg FROM votes_serveur AS v INNER JOIN serveur AS s ON v.idServ = s.idServ WHERE s.valide =1 AND v.date < DATE_ADD(CURDATE(), INTERVAL 6 MONTH) GROUP BY s.GSP_nom ORDER BY avg DESC</code>
Wenn Sie die Verwendung von INTERVAL verstehen, können Sie Ihre Abfragen optimieren, wenn Sie mit Datumsbereichen in MySQL arbeiten.
Das obige ist der detaillierte Inhalt vonWie können INTERVAL und CURDATE Datumsbereichsabfragen in MySQL vereinfachen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!