집 >데이터 베이스 >MySQL 튜토리얼 >MySQL의 LIMIT 절에 해당하는 SQL Server를 구현하는 방법은 무엇입니까?
SQL Server에서 제한적인 기능 달성
SQL Server는 MySQL의 LIMIT
절을 미러링하여 쿼리에서 반환되는 행 수를 제한하는 여러 가지 방법을 제공합니다.
SQL Server 2005 및 후속 버전
SQL Server 2005부터는 CTE(공용 테이블 표현식) 내의 ROW_NUMBER()
함수가 깔끔한 솔루션을 제공합니다. 다음은 그림입니다:
<code class="language-sql">USE AdventureWorks; GO WITH NumberedOrders AS ( SELECT SalesOrderID, OrderDate, ROW_NUMBER() OVER (ORDER BY OrderDate) AS RowNum FROM Sales.SalesOrderHeader ) SELECT * FROM NumberedOrders WHERE RowNum BETWEEN 10 AND 20;</code>
이전 SQL Server 버전(2000 이하)
SQL Server 2005 이전 버전의 경우 TOP
및 ORDER BY
을 사용하는 결합된 접근 방식이 필요합니다.
<code class="language-sql">SELECT TOP 10 * FROM (SELECT TOP 20 * FROM YourTable ORDER BY Id) AS Subquery ORDER BY Id DESC;</code>
이 기술은 먼저 상위 20개 행을 검색한 다음 해당 하위 집합에서 상위 10개를 선택하여 범위 기반 제한을 효과적으로 달성합니다. 올바른 결과를 얻으려면 중첩된 ORDER BY
이 중요합니다. YourTable
및 Id
를 실제 테이블과 주문 열로 바꾸세요.
위 내용은 MySQL의 LIMIT 절에 해당하는 SQL Server를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!