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

王林
Lepaskan: 2023-05-30 21:19:12
ke hadapan
3604 orang telah melayarinya

1. Penggunaan asas fungsi tetingkap

Fungsi tetingkap hanya disokong sejak MySQL8

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

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
Salin selepas log masuk

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;
Salin selepas log masuk

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
Salin selepas log masuk

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!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!