안녕하세요.
MySQL의 SQL문중 Limit에 대해 많은 분들이 질문을 합니다.
MySQL의 Limit문은 웹 페이지나 지정한 부분부터 몇개를 보여 줄때 유용하지요.
Select * From 테이블 Limit 0, 12
위 SQL 문장을 MS-SQL로 바꾸면 아래와 같습니다.
Select * From 테이블 ORDER BY 소트할컬럼명 OFFSET 0 ROWS FETCH NEXT 12 ROWS ONLY
이외에도 속도나 효율성면에서는 많이 떨어지지만 여러가지로 응용이 가능한 부분으로
With문과 Row_Number()를 이용한 방법은 아래와 같습니다.
WITH 임시테이블 AS
(
SELECT
ROW_NUMBER() OVER (ORDER BY 소트할컬럼 ) AS RowNum,
*
FROM 테이블
)
SELECT *
FROM 임시테이블
WHERE RowNum >= 2 // offset
AND RowNum < 2 + 12; // offset + 갯수
이를 NexusDB에서는 어떻게 할까요?
간단합니다.
SELECT top 표시할갯수[, 위치] * FROM 테이블명
NexusDB에서는 위치가 뒤에 있어서 약간 혼동이 오지만, 오히려 심플한 느낌을 줍니다.
이상 말동이였습니다.
최신 댓글