Rumah >pangkalan data >tutorial mysql >Bagaimanakah Fungsi Tetingkap PostgreSQL Membandingkan Baris dengan Jirannya?
Membandingkan Baris dalam PostgreSQL Menggunakan Fungsi Tetingkap
Mendapatkan semula data daripada pangkalan data sambil membandingkan baris semasa dengan baris bersebelahan boleh menjadi kegunaan yang berharga kes. Dalam PostgreSQL, fungsi tetingkap menyediakan penyelesaian yang berkuasa untuk tugas ini.
Salah satu teknik sedemikian melibatkan penggunaan fungsi lag dan petunjuk. lag mendapatkan nilai daripada baris sebelumnya, manakala petunjuk mendapatkan semula nilai daripada baris berikutnya, berdasarkan offset yang ditentukan.
Contoh:
Andaikan anda mempunyai jadual dengan dua lajur: kedudukan dan nombor. Anda ingin memilih nombor ganjil antara nombor genap. Menggunakan fungsi tetingkap, anda boleh mencapai ini dengan pertanyaan berikut:
SELECT numbers FROM ( SELECT numbers, lag(numbers,1) OVER w AS previous_number, lead(numbers,1) OVER w AS next_number FROM table WINDOW w AS (PARTITION BY position ORDER BY position) ) subquery WHERE previous_number % 2 = 0 AND next_number % 2 = 0 AND numbers % 2 = 1;
Fungsi tetingkap menawarkan beberapa faedah:
Tambahan Pertimbangan:
Atas ialah kandungan terperinci Bagaimanakah Fungsi Tetingkap PostgreSQL Membandingkan Baris dengan Jirannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!