Fensterfunktionen werden erst seit MySQL8 unterstützt sind drei Parameter.
Ausdruck: der Standardwert außerhalb des Aufzeichnungsfensters (Standard ist null, kann auf 0 gesetzt werden)
3. Datenvorbereitung (Tabelle SQL am Ende erstellen). ) 1. LAG()-Funktion: Zählen Sie die IDs von Daten mit höheren Temperaturen als am Vortag.
Wir sortieren zuerst nach Datum und finden dann die IDs mit höheren Temperaturen heute als am Vortag ()-Funktion, Schieben Sie die Temperatur um einen Tag zurück.<窗口函数> OVER ([PARTITION BY <用于分组的列>] ORDER BY <用于排序的列>)Abfrageergebnisse: Dann wählen Sie die Daten aus, bei denen die Temperatur größer als die Temperatur ist und die Temperatur nicht gleich 0 ist
select id, date, temperature, LAG(temperature, 1, 0) OVER (order by date) as temp FROM weatherDie Ergebnisse sind wie folgt:
2. LEAD()-Funktion: Statistik Vergleichen Sie die Temperatur mit der höheren Datums-ID des nächsten Tages.
Zuerst sortieren wir die Daten, verwenden dann die Funktion „lead()“, um die Temperatur um einen Tag nach hinten zu verschieben und die ID zu finden, die an diesem Tag eine höhere Temperatur hat als am nächsten Tag.select id from (select id, date, temperature, LAG(temperature, 1, 0) OVER (order by date) as temp FROM weather) tmp where temperature>temp and temp != 0;Abfrageergebnisse: Dann wählen Sie die Daten aus, deren Temperatur größer als die Temperatur und die Temperatur ungleich 0 ist.
select id, date, temperature, LEAD(temperature, 1, 0) OVER (order by date) as temp FROM weatherAbfrageergebnisse:
4. Erstellen Sie Tabellendaten in SQL
select id from (select id, date, temperature, LEAD(temperature, 1, 0) OVER (order by date) as temp FROM weather) tmp where temperature>temp and temp != 0;
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Funktionen LAG() und LEAD() in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!