select表中的Top和Last行(SQL Server)

我在SQLServer中使用这个语句,它工作正常:

SELECT TOP 1000 * FROM [SomeTable] 

它给了我来自SomeTableTOP 1000logging,现在我应该使用哪个关键字而不是Top如果我需要表中的Bottom 1000条logging?

为了获得最低1000,你会想要按降序排列一列,仍然是前1000。

 SELECT TOP 1000 * FROM [SomeTable] ORDER BY MySortColumn DESC 

如果你关心的是和以前一样的顺序,你可以使用一个公用表expression式来实现:

 ;WITH CTE AS ( SELECT TOP 1000 * FROM [SomeTable] ORDER BY MySortColumn DESC ) SELECT * FROM CTE ORDER BY MySortColumn 

您必须根据您的需求对数据进行sorting(例如,按相反顺序),并使用select top查询