2011-12-07 50 views
-4

See this Link如何使用任何聚合函數獲得最後10行,例如獲得我們使用top(10)的前10條記錄。 sql有解決這個問題的預定義函數嗎?查找最後一些記錄

+0

你想知道如何通過somecolumn desc來選擇top(10)嗎?要麼..? –

+0

@Mikael Eriksson - 我想知道任何給我最後(某些)記錄的函數。像頂部(10)給我們前10條記錄.... –

+1

好吧,那就是你在我的第一個評論中得到的頂部(10)按某些列降序排列。 –

回答

0

添加order by扭轉行的順序,然後使用top(xx)

在t-sql中是no bottom(xx)

1

當使用select top總是必須提供order by,如果你想擁有在什麼行會獲取任何控制。這意味着獲取「最後10行」與獲取「前10行」相同,但使用不同的order by子句。

declare @T table(ID int) 
insert into @T values (1),(2),(3),(4),(5) 

-- Get the first 2 rows 
select top(2) ID 
from @T 
order by ID 

-- Get the last 2 rows 
select top(2) ID 
from @T 
order by ID desc 

結果:

ID 
----------- 
1 
2 

(2 row(s) affected) 

ID 
----------- 
5 
4 

(2 row(s) affected)