Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyimpan Hanya Baris N Teratas dalam Jadual Pangkalan Data SQL?
Memelihara Baris Teratas: Memadam Semua Tetapi n daripada Jadual Pangkalan Data dalam SQL
Apabila berhadapan dengan tugas memangkas jadual dalam pangkalan data, timbul keperluan untuk mengekalkan hanya nombor (n) baris tertentu di bahagian atas sambil menghapuskan selebihnya. Untuk mencapai matlamat ini dengan berkesan, SQL menawarkan penyelesaian yang mudah.
Pernyataan DELETE boleh digunakan untuk mengalih keluar semua baris kecuali n atas. Sintaks adalah seperti berikut:
DELETE FROM TableName WHERE RowID NOT IN (SELECT TOP n RowID FROM TableName)
Pertanyaan ini memilih semua baris daripada jadual TableName, tidak termasuk baris yang muncul dalam subkueri. Subkueri mendapatkan semula n RowID teratas daripada jadual.
Contoh:
Pertimbangkan jadual bernama "Pelanggan" dengan lajur seperti "ID Pelanggan" dan "Nama Pelanggan." Untuk memadam semua kecuali 10 pelanggan teratas berdasarkan "CustomerID", pertanyaan berikut boleh digunakan:
DELETE FROM Customers WHERE CustomerID NOT IN (SELECT TOP 10 CustomerID FROM Customers)
Nota:
Seperti yang Chris perhatikan dengan teliti, kelemahan menggunakan klausa TOP dalam subkueri ialah potensi kesan prestasinya. Untuk operasi sekali sahaja, ini mungkin bukan kebimbangan yang ketara, tetapi untuk penggunaan yang kerap, pendekatan alternatif harus dipertimbangkan.
Atas ialah kandungan terperinci Bagaimana untuk Menyimpan Hanya Baris N Teratas dalam Jadual Pangkalan Data SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!