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

时间:2012-03-28 17:06:39

标签: sql-server-2008

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

SELECT TOP 1000 *      
FROM [SomeTable]

它为我提供了来自TOP 1000的{​​{1}}条记录,如果我需要表格中的SomeTable记录,现在应该使用哪个关键字而不是Top

2 个答案:

答案 0 :(得分:54)

要获得底部1000,您需要按降序排列一列,仍然排在前1000位。

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

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

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

SELECT * 
FROM CTE
ORDER BY MySortColumn

答案 1 :(得分:6)

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