选择表中的Top和Last行(SQL Server)

Car*_*s H 39 sql-server-2008

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

SELECT TOP 1000 *      
FROM [SomeTable]
Run Code Online (Sandbox Code Playgroud)

它给了我TOP 1000记录SomeTable,现在我应该使用哪个关键字,而不是Top如果我需要Bottom 1000表中的记录?

Kha*_*han 56

要获得底部1000,您需要按降序排列一列,并且仍然需要前1000名.

SELECT TOP 1000 *
FROM [SomeTable]
ORDER BY MySortColumn DESC
Run Code Online (Sandbox Code Playgroud)

如果您关心它的顺序与以前相同,则可以使用公用表表达式:

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

SELECT * 
FROM CTE
ORDER BY MySortColumn
Run Code Online (Sandbox Code Playgroud)


Luc*_*uca 6

您必须根据需要对数据进行排序(例如,按相反顺序排序)并使用select top query