나는에 DISITINCT를 사용하는 경우() 함수를 ROW_NUMBER를 사용하여 내림차순으로 결과를 주문할 때 가장 바깥 쪽 아래 내 쿼리에서 선택한 보이는 이상한 행동을 이해하기 위해 노력하고있어 :SQL 서버 2005 - ROW_NUMBER()
SELECT DISTINCT (ID), State_Id, Name_Of_Trip, Date_Of_Travel, Creation_Date, Locking_Id, Applicant_Name, Reference_Number, State_Name
FROM (
SELECT app.ID, app.State_Id, app.Name_Of_Trip, app.Date_Of_Travel, app.Creation_Date, app.Locking_Id, app.Applicant_Name, app.Reference_Number,
State.Name AS State_Name, ROW_NUMBER() OVER(ORDER BY Reference_Number DESC) as rowNum
FROM Application_Leg AS app
INNER JOIN State AS state
ON app.State_Id = state.ID
WHERE (app.State_Id = 5 OR app.State_Id = 6 OR app.State_Id = 8) AND app.Organisation_Id=12
AND Leg_Number IN
(SELECT DISTINCT Leg_Number
from Application_Leg as al
INNER JOIN
Organisation as org
ON al.Organisation_Id = org.ID
WHERE al.ID=app.ID AND org.Approval_Required=1 AND Mode_Of_Transport=1))
as pagedApplications
WHERE rowNum BETWEEN 0 AND (0 + 10)
가장 바깥 쪽 DISTINCT를 꺼낼 때 내림차순이 좋지만 포함될 때 결과는 내림차순으로 표시되지 않습니다.
합니다. – David