MySQL SQL Limit –> MS-SQL and NexusDB

안녕하세요.

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에서는 위치가 뒤에 있어서 약간 혼동이 오지만, 오히려 심플한 느낌을 줍니다.

이상 말동이였습니다.

Author: yyjksw