티스토리 뷰

"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,421,036
Today
903
Yesterday
946
«   2019/11   »
          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
글 보관함