从数据库表中删除除前 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中文网其他相关文章!