사용자 도구

사이트 도구


기술문서:레퍼런스:쿼리:응용:paging_query

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
기술문서:레퍼런스:쿼리:응용:paging_query [2025/04/28 19:52]
carlito76
기술문서:레퍼런스:쿼리:응용:paging_query [2026/06/22 12:12] (현재)
carlito76
줄 7: 줄 7:
  
 <note tip> <note tip>
-최소 지원 버전은 약간의 차이가 있을 수 있습니다.+최소 지원 버전은 약간의 차이가 있을 수 있습니다.\\ 
 +- MySQL/MariaDB, PostgreSQL: 세부 버전까지 표시\\ 
 +- MSSQL, Oracle/Tibero: 제품 버전까지 표시
 </note> </note>
  
-^  물리명  ^  논리명  ^  타입  ^  KEY  ^ +<note warning> 
-| 일련번호 | sn | 숫자형 | PK | +본 쿼리는 데이터가 100만 건 이상인 대용량 환경에서의 사용을 지양합니다. 
-| 제목 | title | 문자형 | | +</note>
-| 내용 | content | 문자형 | |+
  
 +===== 테이블 명세 =====
 +^  논리명  ^  물리명  ^  타입  ^  길이  ^  KEY  ^
 +| 일련번호 | sn | 숫자형 | | PK |
 +| 제목 | title | 문자형 | 100 | |
 +| 내용 | content | 문자형 | 4000 | |
 +
 +===== SQL 스크립트 =====
 <sxh sql; gutter: true; title: DDL;> <sxh sql; gutter: true; title: DDL;>
--- MySQL/MariaDB & MSSQL & PostgreSQL 
-CREATE TABLE ex_paging ( 
- sn BIGINT NOT NULL PRIMARY KEY, 
- title VARCHAR(100) NOT NULL, 
- content TEXT NOT NULL 
-); 
- 
--- Oracle/Tibero 
 CREATE TABLE ex_paging ( CREATE TABLE ex_paging (
- sn NUMBER NOT NULL PRIMARY KEY,+ sn INT NOT NULL PRIMARY KEY,
  title VARCHAR(100) NOT NULL,  title VARCHAR(100) NOT NULL,
- content CLOB NOT NULL+ content VARCHAR(4000) NOT NULL
 ); );
 </sxh> </sxh>
줄 55: 줄 55:
  
 ===== MySQL/MariaDB ===== ===== MySQL/MariaDB =====
-<sxh sql; gutter: true; highlight: [17];> +<sxh sql; gutter: true; highlight: [19];> 
--- MySQL 5.0.12 이상/MariaDB 5.1 이상+/* 
 + MySQL 5.0.12 이상/MariaDB 5.1 이상 
 +*/
 SELECT SELECT
  t.*, @ROWNUM AS "_total_count_", (@ROWNUM - t._rownum_ + 1) AS "_no_"  t.*, @ROWNUM AS "_total_count_", (@ROWNUM - t._rownum_ + 1) AS "_no_"
줄 72: 줄 74:
  sn DESC  sn DESC
  -- ↓↓↓ 페이징 쿼리 ↓↓  -- ↓↓↓ 페이징 쿼리 ↓↓
- LIMIT 18446744073709551615) p + LIMIT 18446744073709551615 
- , (SELECT @ROWNUM := 0) r+ ) p, (SELECT @ROWNUM := 0) r
  ) t  ) t
 ORDER BY ORDER BY
줄 85: 줄 87:
  
 ===== MSSQL ===== ===== MSSQL =====
-<sxh sql; gutter: true; highlight: [10-11];> +<sxh sql; gutter: true; highlight: [12-13];> 
--- MSSQL 2005 이상+/* 
 + MSSQL 2005 이상 
 +*/
 SELECT SELECT
  t.*, (t._total_count_ - t._rownum_ + 1) AS "_no_"  t.*, (t._total_count_ - t._rownum_ + 1) AS "_no_"
줄 115: 줄 119:
 ===== Oracle/Tibero ===== ===== Oracle/Tibero =====
 <sxh sql; gutter: true;> <sxh sql; gutter: true;>
--- Oracle 9i 이상/Tibero 4 이상+/* 
 + Oracle 9i 이상/Tibero 4 이상 
 +*/
 SELECT SELECT
  t.*, ("_total_count_" - "_rownum_" + 1) AS "_no_"  t.*, ("_total_count_" - "_rownum_" + 1) AS "_no_"
줄 143: 줄 149:
 ===== PostgreSQL ===== ===== PostgreSQL =====
 <sxh sql; gutter: true;> <sxh sql; gutter: true;>
--- PostgreSQL 8.4 이상+/* 
 + PostgreSQL 8.4 이상 
 +*/
 SELECT SELECT
  t.*, (t._total_count_ - t._rownum_ + 1) AS "_no_"  t.*, (t._total_count_ - t._rownum_ + 1) AS "_no_"
줄 167: 줄 175:
 ; ;
 </sxh> </sxh>
 +
 +{{tag>"쿼리" "Query" "응용"}}