내용으로 건너뛰기
잡개발자 리토의 잡위키
사용자 도구
로그인
사이트 도구
검색
도구
문서 보기
이전 판
미디어 관리자
사이트맵
로그인
>
미디어 관리자
사이트맵
기술문서:레퍼런스:쿼리:응용:paging_query
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
{{htmlmetatags> metatag-description=(페이징 쿼리, Paging Query, 페이징, Paging, 데이터베이스, DBMS, SQL, MySQL, MariaDB, MSSQL, Oracle, Tibero, PostgreSQL) metatag-og:description=(페이징 쿼리, Paging Query, 페이징, Paging, 데이터베이스, DBMS, SQL, MySQL, MariaDB, MSSQL, Oracle, Tibero, PostgreSQL) }} ====== Paging Query ====== <note tip> 최소 지원 버전은 약간의 차이가 있을 수 있습니다. </note> ===== 테이블 명세 ===== ^ 물리명 ^ 논리명 ^ 타입 ^ 길이 ^ KEY ^ | 일련번호 | sn | 숫자형 | | PK | | 제목 | title | 문자형 | 100 | | | 내용 | content | 문자형 | 4000 | | ===== SQL 스크립트 ===== <sxh sql; gutter: true; title: DDL;> CREATE TABLE ex_paging ( sn INT NOT NULL PRIMARY KEY, title VARCHAR(100) NOT NULL, content VARCHAR(4000) NOT NULL ); </sxh> <sxh sql; gutter: true; title: DML;> INSERT INTO ex_paging (sn, title, content) VALUES (1, '제목 1', '내용 1'); INSERT INTO ex_paging (sn, title, content) VALUES (2, '제목 2', '내용 2'); INSERT INTO ex_paging (sn, title, content) VALUES (3, '제목 3', '내용 3'); INSERT INTO ex_paging (sn, title, content) VALUES (4, '제목 4', '내용 4'); INSERT INTO ex_paging (sn, title, content) VALUES (5, '제목 5', '내용 5'); INSERT INTO ex_paging (sn, title, content) VALUES (6, '제목 6', '내용 6'); INSERT INTO ex_paging (sn, title, content) VALUES (7, '제목 7', '내용 7'); INSERT INTO ex_paging (sn, title, content) VALUES (8, '제목 8', '내용 8'); INSERT INTO ex_paging (sn, title, content) VALUES (9, '제목 9', '내용 9'); INSERT INTO ex_paging (sn, title, content) VALUES (10, '제목 10', '내용 10'); INSERT INTO ex_paging (sn, title, content) VALUES (11, '제목 11', '내용 11'); INSERT INTO ex_paging (sn, title, content) VALUES (12, '제목 12', '내용 12'); INSERT INTO ex_paging (sn, title, content) VALUES (13, '제목 13', '내용 13'); INSERT INTO ex_paging (sn, title, content) VALUES (14, '제목 14', '내용 14'); INSERT INTO ex_paging (sn, title, content) VALUES (15, '제목 15', '내용 15'); INSERT INTO ex_paging (sn, title, content) VALUES (16, '제목 16', '내용 16'); INSERT INTO ex_paging (sn, title, content) VALUES (17, '제목 17', '내용 17'); INSERT INTO ex_paging (sn, title, content) VALUES (18, '제목 18', '내용 18'); INSERT INTO ex_paging (sn, title, content) VALUES (19, '제목 19', '내용 19'); INSERT INTO ex_paging (sn, title, content) VALUES (20, '제목 20', '내용 20'); </sxh> ===== MySQL/MariaDB ===== <sxh sql; gutter: true; highlight: [19];> /* MySQL 5.0.12 이상/MariaDB 5.1 이상 */ SELECT t.*, @ROWNUM AS "_total_count_", (@ROWNUM - t._rownum_ + 1) AS "_no_" FROM (SELECT p.*, @ROWNUM := @ROWNUM + 1 AS "_rownum_" FROM ( -- ↑↑↑ 페이징 쿼리 ↑↑↑ SELECT * FROM ex_paging ORDER BY sn DESC -- ↓↓↓ 페이징 쿼리 ↓↓ LIMIT 18446744073709551615) p , (SELECT @ROWNUM := 0) r ) t ORDER BY t._rownum_ ASC -- 1 페이지 LIMIT 10 OFFSET 0 -- 2 페이지 -- LIMIT 10 OFFSET 10 ; </sxh> ===== MSSQL ===== <sxh sql; gutter: true; highlight: [12-13];> /* MSSQL 2005 이상 */ SELECT t.*, (t._total_count_ - t._rownum_ + 1) AS "_no_" FROM (SELECT p.*, ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS "_rownum_", COUNT(*) OVER() AS "_total_count_" FROM ( -- ↑↑↑ 페이징 쿼리 ↑↑↑ SELECT TOP (99.999) PERCENT -- SELECT TOP (9223372036854775807) * FROM ex_paging ORDER BY sn DESC -- ↓↓↓ 페이징 쿼리 ↓↓↓ ) p ) t WHERE -- 1 페이지 t._rownum_ BETWEEN 1 AND 10 -- 2 페이지 -- t._rownum_ BETWEEN 11 AND 20 ; </sxh> ===== Oracle/Tibero ===== <sxh sql; gutter: true;> /* Oracle 9i 이상/Tibero 4 이상 */ SELECT t.*, ("_total_count_" - "_rownum_" + 1) AS "_no_" FROM (SELECT p.*, ROWNUM AS "_rownum_", COUNT(*) OVER() AS "_total_count_" FROM ( -- ↑↑↑ 페이징 쿼리 ↑↑↑ SELECT * FROM ex_paging ORDER BY sn DESC -- ↓↓↓ 페이징 쿼리 ↓↓↓ ) p ) t WHERE -- 1 페이지 "_rownum_" BETWEEN 1 AND 10 -- 2 페이지 -- "_rownum_" BETWEEN 11 AND 20 ; </sxh> ===== PostgreSQL ===== <sxh sql; gutter: true;> /* PostgreSQL 8.4 이상 */ SELECT t.*, (t._total_count_ - t._rownum_ + 1) AS "_no_" FROM (SELECT p.*, ROW_NUMBER() OVER() AS "_rownum_", COUNT(*) OVER() AS "_total_count_" FROM ( -- ↑↑↑ 페이징 쿼리 ↑↑↑ SELECT * FROM ex_paging ORDER BY sn DESC -- ↓↓↓ 페이징 쿼리 ↓↓ ) p ) t -- 1 페이지 LIMIT 10 OFFSET 0 -- 2 페이지 -- LIMIT 10 OFFSET 10 ; </sxh> {{tag>"쿼리" "Query" "응용"}}
문서 도구
문서 보기
이전 판
맨 위로