從資料庫表中刪除除前n 行以外的所有行的SQL 查詢
在許多情況下,有必要從資料庫表中刪除所有資料資料庫表(前n 行除外)。此操作需要精心設計的查詢,以確保只保留所需的行數。
建議方法:
刪除除頂部之外的所有行的最有效方法SQL 中表中的n 行是執行一個查詢,選擇所需的行,然後使用DELETE 語句刪除剩餘的行。以下查詢範本示範了這種方法:
DELETE FROM TableName WHERE ID NOT IN ( SELECT DISTINCT TOP n ID FROM TableName ORDER BY ID )
優點:
範例:
考慮一個名為「Sales」的表,其中包含以下資料:
ID | Name | Amount |
---|---|---|
1 | John | 100 |
2 | Mary | 200 |
3 | Bob | 300 |
4 | Ann | 400 |
刪除除該表的前 2行,我們將使用以下內容查詢:
DELETE FROM Sales WHERE ID NOT IN ( SELECT DISTINCT TOP 2 ID FROM Sales ORDER BY ID )
執行此查詢後,「Sales」表將僅包含以下行:
ID | Name | Amount |
---|---|---|
1 | John | 100 |
2 | Mary | 200 |
以上是如何從 SQL 資料庫表中刪除除前 N 行之外的所有行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!