Sql 如何使用top select row定义范围,比如40000-45000之间?

Sql 如何使用top select row定义范围,比如40000-45000之间?,sql,select,range,row,Sql,Select,Range,Row,从上面的查询中,我想选择44000和45000之间的行范围。我试图用这种方式编写查询,但到目前为止,它非常复杂 SELECT TOP (1000) [DBName] ,[TableName] ,[Reportdate] ,[ActionID] ,[Records] ,[DateCreated] FROM [PXYZ_database].[dbo].[SystemData] 但是我收到了一个错误,我的语法错了吗?您可以使用带有偏移选

从上面的查询中,我想选择44000和45000之间的行范围。我试图用这种方式编写查询,但到目前为止,它非常复杂

SELECT TOP (1000) [DBName]
      ,[TableName]
      ,[Reportdate]
      ,[ActionID]
      ,[Records]
      ,[DateCreated]
  FROM [PXYZ_database].[dbo].[SystemData]
但是我收到了一个错误,我的语法错了吗?

您可以使用带有偏移选项的order by子句:

您可以使用带有偏移选项的order by子句:

SELECT * FROM table limit 100 [DBName]
      ,[TableName]
      ,[Reportdate]
      ,[ActionID]
      ,[Records]
      ,[DateCreated]

  FROM [PXYZ_database].[dbo].[SystemData]
  SELECT [DBName]
        ,[TableName]
        ,[Reportdate]
        ,[ActionID]
        ,[Records]
        ,[DateCreated]
    FROM [PXYZ_database].[dbo].[SystemData]
ORDER BY [DBName] OFFSET 44000  ROWS FETCH NEXT 1000 ROWS ONLY