Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memadam Semua kecuali Baris N Teratas daripada Jadual Pangkalan Data SQL?
Pertanyaan SQL untuk Memadam Semua kecuali Baris Teratas daripada Jadual Pangkalan Data
Dalam banyak senario, ia menjadi perlu untuk mengalih keluar semua data daripada jadual pangkalan data kecuali untuk n baris atas. Operasi ini memerlukan pertanyaan yang dibuat dengan teliti untuk memastikan bahawa hanya bilangan baris yang dikehendaki dikekalkan.
Pendekatan Disyorkan:
Cara paling berkesan untuk memadam semua kecuali bahagian atas n baris daripada jadual dalam SQL adalah untuk melaksanakan pertanyaan yang memilih baris yang dikehendaki dan kemudian menggunakan pernyataan DELETE untuk mengalih keluar baki barisan. Templat pertanyaan berikut menunjukkan pendekatan ini:
DELETE FROM TableName WHERE ID NOT IN ( SELECT DISTINCT TOP n ID FROM TableName ORDER BY ID )
Kelebihan:
Contoh:
Pertimbangkan jadual bernama "Jualan" dengan data berikut:
ID | Name | Amount |
---|---|---|
1 | John | 100 |
2 | Mary | 200 |
3 | Bob | 300 |
4 | Ann | 400 |
Untuk memadam semua kecuali 2 baris teratas daripada jadual ini, kami akan menggunakan pertanyaan berikut:
DELETE FROM Sales WHERE ID NOT IN ( SELECT DISTINCT TOP 2 ID FROM Sales ORDER BY ID )
Selepas melaksanakan pertanyaan ini, jadual "Jualan" akan mengandungi hanya baris berikut:
ID | Name | Amount |
---|---|---|
1 | John | 100 |
2 | Mary | 200 |
Atas ialah kandungan terperinci Bagaimana untuk Memadam Semua kecuali Baris N Teratas daripada Jadual Pangkalan Data SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!