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

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

王林
Freigeben: 2023-05-30 21:19:12
nach vorne
3805 Leute haben es durchsucht

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 <用于排序的列>)
    Nach dem Login kopieren
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
Nach dem Login kopieren

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;
Nach dem Login kopieren

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
Nach dem Login kopieren

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;
Nach dem Login kopieren

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!

Verwandte Etiketten:
Erklärung dieser Website
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
Aktuelle Ausgaben
So ändern Sie MySQL in MySQL
Aus 1970-01-01 08:00:00
0
0
0
MySQL-Startfehler unter Centos
Aus 1970-01-01 08:00:00
0
0
0
MySQL stoppt den Prozess
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage