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!