Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Baris Dengan Cekap Di Mana Nilai Lajur Berubah dalam Pelayan SQL?
Mengambil Baris dengan Nilai Lajur yang Berkembang
Masalah:
Anda ditugaskan untuk mengekstrak baris daripada jadual berdasarkan perubahan dalam nilai lajur tertentu. Dalam data sampel yang disediakan, lajur "Nilai" mengalami beberapa anjakan. Matlamat anda adalah untuk mengenal pasti dan memilih hanya baris yang nilai ini telah berubah.
Penyelesaian:
Menggunakan Pemisahan ROW_NUMBER:
Teknik ini menggunakan fungsi ROW_NUMBER SQL Server untuk menetapkan nombor berjujukan kepada baris dalam yang berbeza Pembahagian "Nilai", diisih mengikut susunan "Masa". Pertanyaan berikut menggunakan konsep ini:
Dengan memilih baris dengan nilai "rn" 1, kami mengasingkan baris dengan berkesan yang menandakan kejadian pertama "Nilai" yang berbeza dalam jujukan.
Pendekatan Alternatif Perlahan untuk Nilai Dinamik:
Jika lajur "Nilai" membenarkan kedua-dua perubahan menaik dan menurun, pertanyaan berikut menawarkan penyelesaian yang lebih perlahan tetapi menyeluruh:
Pertanyaan ini menggunakan satu siri JOIN dan penapis untuk mengenal pasti perubahan nilai, menghasilkan senarai masa di mana "Nilai" diubah.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Baris Dengan Cekap Di Mana Nilai Lajur Berubah dalam Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!