Heim >Datenbank >MySQL-Tutorial >Wie können INTERVAL und CURDATE Datumsbereichsabfragen in MySQL vereinfachen?

Wie können INTERVAL und CURDATE Datumsbereichsabfragen in MySQL vereinfachen?

Barbara Streisand
Barbara StreisandOriginal
2024-10-27 03:36:29568Durchsuche

How can INTERVAL and CURDATE simplify date range queries in MySQL?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn