2011-12-07 5 views
-4

See this Linktop(10)을 사용하여 상위 10 개 레코드를 얻는 것과 같은 집계 함수를 사용하여 마지막 10 개 행을 얻는 방법. sql에는 이것을 해결하기위한 사전 정의 된 함수가 있습니까? 당신은 행이 페치 될 것입니다 무엇에 대한 제어를 할 경우마지막 레코드 찾기

+0

'somecolumn desc로 어떤 순서에서 top (10)을 선택하는 법을 알고 싶습니까? 또는..? –

+0

@Mikael Eriksson - 나에게 마지막 (일부) 레코드를 제공하는 함수를 알고 싶습니다. 좋아요 (10) 우리에게 상위 10 개 레코드를 제공합니다 .... –

+1

좋아, 그럼 내 첫 코멘트에있는 것은 내림차순으로 정렬 된 맨 위 (10)를 얻는 것입니다. –

답변

0

은 행의 순서를 반대로하는 order by을 추가하고 top(xx)를 사용합니다.

t-sql에는 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)