SQL에서 n번째 행을 선택하기 위한 데이터베이스 간 전략
이 기사에서는 SQL 테이블에서 n번째 행을 검색하는 기술을 살펴보고 다양한 데이터베이스 시스템과 호환되는 솔루션을 제공합니다.
일반적인 접근 방식
SQL 표준에는 이 작업에 대한 직접적인 명령이 부족합니다. 그러나 몇 가지 일반적인 방법이 있습니다.
ROW_NUMBER()
과 같은 창 기능을 사용하여 각 행에 고유한 순위를 할당합니다. 그런 다음 결과 집합을 필터링하여 원하는 순위의 행을 검색합니다.LIMIT
및 OFFSET
절을 제공합니다. OFFSET
은 지정된 행 수를 건너뛰는 반면, LIMIT
은 출력을 특정 행 수로 제한합니다.데이터베이스별 구현
SQL 서버:
<code class="language-sql">WITH RankedRows AS ( SELECT ROW_NUMBER() OVER (ORDER BY OrderID) AS RowNum, OrderID, OrderDate FROM Orders ) SELECT * FROM RankedRows WHERE RowNum = 1000000;</code>
MySQL/PostgreSQL:
<code class="language-sql">SELECT * FROM your_table LIMIT 1 OFFSET (n - 1);</code>
Oracle/DB2/SQL Server(대체):
<code class="language-sql">SELECT * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY key ASC) AS rn, columns FROM tablename ) AS ranked_rows WHERE rn = n;</code>
PostgreSQL 8.4 / SQLite 3.25.0 :
<code class="language-sql">SELECT * FROM your_table OFFSET (n - 1) ROWS FETCH FIRST 1 ROW ONLY;</code>
여러 데이터베이스 시스템에서 n번째 행을 효율적으로 선택하는 방법에 대한 포괄적인 개요를 제공합니다. your_table
, key
, columns
, n
같은 자리 표시자를 실제 테이블 및 열 이름, 원하는 행 번호로 바꾸는 것을 잊지 마세요.
위 내용은 여러 데이터베이스 시스템의 SQL 테이블에서 n번째 행을 선택하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!