Microsoft SQL Server 2000에서 MySQL의 LIMIT 복제
MySQL의 LIMIT
절은 특정 행 하위 집합 검색을 단순화합니다. SQL Server 2000에는 이 기능이 직접적으로 부족하므로 해결 방법이 필요합니다. 이 기사에서는 유사한 결과를 얻을 수 있는 여러 가지 방법을 살펴봅니다.
한 가지 방법은 중첩된 SELECT
문을 사용하는 것입니다. LIMIT 10, 20
(오프셋 10, 페치 20)을 모방하려면 다음을 사용할 수 있습니다.
<code class="language-sql">SELECT TOP 20 * FROM ( SELECT TOP 30 * FROM mytable ORDER BY somecolumn ) z2 ORDER BY somecolumn DESC;</code>
이것은 상위 30개 행을 선택한 다음 해당 하위 집합에서 상위 20개 행을 선택합니다.
또는 고유 열(예: "키")이 있는 경우 다음을 사용할 수 있습니다.
<code class="language-sql">SELECT TOP 20 * FROM tablename WHERE key NOT IN ( SELECT TOP 10 key FROM tablename ORDER BY key );</code>
고유 키를 기준으로 처음 10개 행을 제외하고 효과적으로 다음 20개 행을 반환합니다.
제한 사항: 총 행 수가 페이지 크기의 배수가 아닌 경우 중첩 쿼리 접근 방식은 마지막 "페이지"에 문제가 있을 수 있습니다. 고유 열 방법에는 적합한 고유 열이 필요합니다. SQL Server 2000에서 LIMIT
복제를 위한 순수 SQL 기반의 보편적으로 적용 가능한 솔루션은 실현 가능하지 않습니다. 그러나 이러한 기술은 실용적인 대안을 제공합니다.
위 내용은 Microsoft SQL Server 2000에서 MySQL의 LIMIT 절을 어떻게 시뮬레이션할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!