2013-10-30 5 views
0
select aaa.BookId from 
(SELECT  TOP (100) PERCENT Id, BookId,CreatedOnUtc 
         FROM   dbo.Chapter AS c 
         ORDER BY CreatedOnUtc desc    
         ) as aaa 
group by aaa.BookId 

ORDER BY CreatedOnUtc desc는 결과에 아무런 영향을 미치지 않습니다.그룹을 내림차순으로 정렬

나는 결과 업데이트]이

BookId (with desc createdonUtc) 
3 
4 
1 
... 

처럼 싶어 : 나는 ORDER BY는 귀하의 하위 쿼리입니다이

select BookId, Max(CreatedOnUtc) 
from Chapter 
group by BookId 
order by Max(CreatedOnUtc) desc 
+2

정렬은 OUTSIDE 하위 쿼리 만 수행해야하며 이는 기본 쿼리에서만 의미가 있습니다. –

+4

상위 100 % 퍼센트를 선택하는 감각은 무엇입니까? –

+0

죄송합니다 ... 잘못된 질문 ... 죄송합니다 ... 제 말은 ... 당신이 sth를 사용하지 않고 컬럼별로 그룹화해야하는 이유가 무엇입니까? 미안하다. – Apostolos

답변

2

과 함께 할 것입니다. 외부 질의에는 order by 절이 없으므로 결과는 어떤 순서로도 될 수 있습니다.

다른 것들 :

  • TOP 100 PERCENT?
  • SELECT BookIdGROUP BY BookId이지만 응집 열이 없습니까? 어쩌면 당신은 단지 SELECT DISTINCT을 원할 것입니다.

또한 달성하려는 것은 불가능할 수도 있습니다. 중복 도서가있는이 표가있는 경우 :

ID BookId CreatedOnUtc 
1 1  1 
2 2  2 
3 1  3 

결과 순서는 무엇입니까? 1 2 또는 2 1?

+0

. 나를 속여 라, 나는 뚜렷한 것이 내가 필요한 것이라고 생각한다. –

관련 문제