티스토리 뷰

"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
1,619,380
Today
7
Yesterday
295
«   2020/09   »
    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      
글 보관함