Heim  >  Artikel  >  Datenbank  >  So verwenden Sie die Funktionen LAG() und LEAD() in MySQL

So verwenden Sie die Funktionen LAG() und LEAD() in MySQL

王林
王林nach vorne
2023-05-30 21:19:123681Durchsuche

1. Grundlegende Verwendung von Fensterfunktionen

Fensterfunktionen werden erst seit MySQL8 unterstützt sind drei Parameter.

Ausdruck

: Spaltenname;

Offset
    : Offset;
  • Standardwert

    : 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:

So verwenden Sie die Funktionen LAG() und LEAD() in MySQL

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 weather

Die Ergebnisse sind wie folgt:

2. LEAD()-Funktion: Statistik Vergleichen Sie die Temperatur mit der höheren Datums-ID des nächsten Tages. So verwenden Sie die Funktionen LAG() und LEAD() in MySQL

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:

So verwenden Sie die Funktionen LAG() und LEAD() in MySQL

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 weather

Abfrageergebnisse:

4. Erstellen Sie Tabellendaten in SQLSo verwenden Sie die Funktionen LAG() und LEAD() in MySQL

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen