SQL Server 删除指定范围内的记录,如第10条到第100条

要在SQL Server中删除指定范围内的记录(例如第10条到第100条),可以使用DELETE语句结合ROW_NUMBER()函数和子查询来实现。以下是详细的解释和示例:

  1. 使用ROW_NUMBER()函数删除指定范围内的记录

    sql
    DELETE FROM YourTable WHERE PrimaryKeyColumn IN ( SELECT PrimaryKeyColumn FROM ( SELECT PrimaryKeyColumn, ROW_NUMBER() OVER (ORDER BY PrimaryKeyColumn) AS RowNum FROM YourTable ) AS SubQuery WHERE RowNum BETWEEN 10 AND 100 );
    • YourTable是要删除记录的表名。
    • PrimaryKeyColumn是表中的主键列或唯一标识符列。
    • ROW_NUMBER() OVER (ORDER BY PrimaryKeyColumn)按照主键列排序,并为每一行分配一个行号。
    • 外部DELETE语句使用子查询来选择行号在10到100之间的记录,并删除这些记录。
  2. 关键字提取: SQL Server, 删除记录, 指定范围, DELETE语句, ROW_NUMBER()函数, 子查询

这样的SQL语句将会删除在指定范围内的记录,确保在使用时替换YourTablePrimaryKeyColumn为实际的表名和主键列名。