티스토리 뷰

"TOP, OFFSET 또는 FOR XML을 함께 지정하지 않으면 뷰, 인라인 함수, 파생 테이블, 하위 쿼리 및 공통 테이블 식에서 ORDER BY 절을 사용할 수 없습니다."

 

하위 쿼리에 ORDER BY절을 사용해서 발생한 에러다.

이럴 땐, TOP을 붙여서 해결해줄 수 있다.

 

SELECT * FROM
(
	SELECT
		TOP (SELECT count(*) FROM 테이블명) -- 이 부분!!
		ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS orderNum
		, 컬럼1
		, 컬럼2
	FROM (
		SELECT 
			컬럼1
			, 컬럼2
		WHERE 1 = 1
		AND 컬럼1 = 1
		UNION ALL
		SELECT 
			컬럼1
			, 컬럼2
			FROM 테이블 WITH(NOLOCK)
			WHERE 1 = 1
			AND 컬럼1 = 2
	) A
	WHERE 컬럼2 = 'Y'
	ORDER BY 컬럼1 DESC, 컬럼2
) RESULT
WHERE 1=1
AND RESULT.orderNum BETWEEN 1 AND 10
;
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함