Rumah  >  Artikel  >  pangkalan data  >  Cara menggunakan fungsi LAG() dan fungsi LEAD() dalam MySQL

Cara menggunakan fungsi LAG() dan fungsi LEAD() dalam MySQL

王林
王林ke hadapan
2023-05-30 21:19:123552semak imbas

1. Penggunaan asas fungsi tetingkap

Fungsi tetingkap hanya disokong sejak MySQL8

<窗口函数> OVER ([PARTITION BY <用于分组的列>] ORDER BY <用于排序的列>)

2 Pengenalan kepada fungsi LAG() dan LEAD()

  • ketinggalan dan pendahuluan bermakna ke hadapan dan ke belakang masing-masing

  • Terdapat tiga parameter. ungkapan: nama lajur; offset: offset; default_value: nilai lalai di luar tetingkap rakaman (lalai adalah nol, boleh ditetapkan kepada 0)

3. Penyediaan data (buat jadual sql di hujung)

Cara menggunakan fungsi LAG() dan fungsi LEAD() dalam MySQL

Fungsi LAG(): Statistik perubahan suhu berbanding sebelumnya hari Untuk ID tarikh tinggi

, kami mula-mula mengisih mengikut tarikh, dan kemudian mencari ID dengan suhu yang lebih tinggi hari ini daripada hari sebelumnya menggunakan fungsi lag() untuk menolak suhu kembali satu hari;

select id, date, temperature, LAG(temperature, 1, 0) OVER (order by date) as temp FROM weather

Hasil pertanyaan:

Cara menggunakan fungsi LAG() dan fungsi LEAD() dalam MySQL

Kemudian pilih data dengan suhu lebih besar daripada temp dan temp tidak sama dengan 0

rreee

Hasilnya ialah seperti berikut:

Cara menggunakan fungsi LAG() dan fungsi LEAD() dalam MySQL

2 Fungsi LEAD(): Kira ID tarikh dengan suhu yang lebih tinggi daripada hari berikutnya

Mula-mula, kami mengisih tarikh, dan kemudian gunakan plumbum Fungsi () menolak suhu kembali satu hari dan mencari id yang mempunyai suhu yang lebih tinggi pada hari itu daripada hari berikutnya.

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;

Hasil pertanyaan:

Cara menggunakan fungsi LAG() dan fungsi LEAD() dalam MySQL

Kemudian pilih data dengan suhu lebih besar daripada suhu dan suhu tidak sama dengan 0

rreee

Hasil pertanyaan:

Cara menggunakan fungsi LAG() dan fungsi LEAD() dalam MySQL

4. Cipta data jadual sql

select id, date, temperature, LEAD(temperature, 1, 0) OVER (order by date) as temp FROM weather

Atas ialah kandungan terperinci Cara menggunakan fungsi LAG() dan fungsi LEAD() dalam MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam