2011-11-08 4 views
0

this 질문에 대한 해결책을 사용하여 데이터에 페이지 매김을하고 있습니다.복잡한 SQL 페이지 매김 쿼리

더 복잡한 쿼리에이 솔루션을 사용해야합니다. 예. 브래킷 안에있는 SELECT에는 조인 및 집계 함수가 있습니다.

;WITH Results_CTE AS 
(
    SELECT 
     Col1, Col2, ..., 
     ROW_NUMBER() OVER (ORDER BY SortCol1, SortCol2, ...) AS RowNum 
    FROM Table 
    WHERE <whatever> 
) 
SELECT * 
FROM Results_CTE 
WHERE RowNum >= @Offset 
AND RowNum < @Offset + @Limit 

나는 위의 솔루션으로 통합해야 쿼리 :

내가 참조로 사용하고 그 솔루션입니다

SELECT users.indicator, COUNT(*) as 'queries' FROM queries 
INNER JOIN calls ON queries.call_id = calls.id 
INNER JOIN users ON calls.user_id = users.id 
WHERE queries.isresolved=0 AND users.indicator='ind1' 
GROUP BY users.indicator ORDER BY queries DESC 

내가 어떻게 이것을 달성 할 수 있습니까? 지금까지 나는 ORDER BY queries DESC 부분을 제거하고 그 행을 ROW_NUMBER() OVER (ORDER BY ...) AS RowNum에 두었습니다.하지만이 작업을 수행 할 때 해당 열 ("잘못된 열 이름 '쿼리')에서 주문할 수 없습니다."

이 항목으로 주문하려면 어떻게해야합니까?

편집 : COUNT하여 SQL Server 2008

답변

1

시도 순서를 사용하여 (*) DESC. 그것은 '내가 생각하는 2008

+0

처럼 사용 후 COUNT (*) 열 에 대한 귀하의 별명을 조회 ... MySQL을 SQL 서버에 대해 잘 작동합니다 나는 그것을 시도한다. 작품, 고마워. 8 분 전에 대답으로 표시 할 수 있습니다. – user982119