MSSQL 에서는 ROW_NUMBER() OVER() 기능이 있어 편리하지만 MYSQL에서는 이러한 기능이 없다..ㅠㅠ
물론 ORACLE 이라면 어디서 검색해봐도 쉽게 나오는 ROW_NUMBER() 기능이 있어 편리하다
그래서 MYSQL 에서의 변수선언 기능으로 페이징 처리 SQL문을 작성
예제 )
SELECT
T.*
FROM (
SELECT
CEILING( A.ROWNUM / 10 ) AS PAGE // 1페이지당 조회될 ROW 수 10
FROM (
SELECT
DEPT_CODE
, DEPT_NAME
, @RNUM := @RNUM + 1 AS ROWNUM
FROM DEPARTMANT
,(SELECT @RNUM := 0 ) AS R // 요 줄을 JOIN문 처럼 FROM절 끝에 넣어준다
) A
) T
WHERE T.PAGE = 1
'WORK > DB' 카테고리의 다른 글
mysql count() 함수 (0) | 2018.01.17 |
---|---|
oracle sql developer 에서 다중 DB 사용하기 (0) | 2018.01.16 |
mssql 과 mysql 함수차이 (0) | 2018.01.16 |
Explicit value specified for identity field in table [테이블명] when 'SET IDENTITY_INSERT' is OFF. (0) | 2018.01.16 |
MSSQL TOP 1 MYSQL LIMIT 1 (0) | 2018.01.16 |