> 데이터 베이스 > MySQL 튜토리얼 > SQL Server에서 MySQL의 LIMIT 절을 복제하는 방법은 무엇입니까?

SQL Server에서 MySQL의 LIMIT 절을 복제하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-12-08 02:29:11
원래의
825명이 탐색했습니다.

How to Replicate MySQL's LIMIT Clause in SQL Server?

MySQL의 LIMIT 절과 동일한 SQL Server

쿼리에서 반환되는 행 수를 제한하는 MySQL의 LIMIT 절에는 직접적으로 상응하는 절이 없습니다. SQL Server에서. 이는 실망스러울 수 있지만 몇 가지 해결 방법이 있습니다.

OFFSET/FETCH 구문(SQL Server 2012 이상)

SQL Server 2012 이상에서는 ANSI 표준 OFFSET / FETCH 구문을 페이지 매김에 사용할 수 있습니다. 다음 쿼리는 이 구문을 보여줍니다.

SELECT ID, Name, Price, Image 
FROM Products 
ORDER BY ID ASC 
OFFSET (@start_from - 1) ROWS
FETCH NEXT @items_on_page ROWS ONLY;
로그인 후 복사

ROW_NUMBER() 메서드(SQL Server 2012 이전)

SQL Server 2012 이전에는 ROW_NUMBER() 메서드 LIMIT를 시뮬레이션하는 데 사용할 수 있습니다. 절:

WITH o AS
(
    SELECT TOP ((@start_from - 1) + @items_on_page)
      RowNum = ROW_NUMBER() OVER (ORDER BY ID ASC)
      /* , other columns */
    FROM Products
)
SELECT 
    RowNum
    /* , other columns */
FROM
    o
WHERE
    RowNum >= @start_from
ORDER BY
    RowNum;
로그인 후 복사

기타 해결 방법

위에 설명된 방법 외에도 커서나 임시 테이블 사용을 포함하여 다양한 해결 방법이 있습니다. 그러나 이러한 솔루션은 일반적으로 덜 효율적이고 더 복잡합니다.

Microsoft는 현재 페이지 매김 메커니즘의 한계를 인정했으며 향후 릴리스에서 SQL Server에 기본 LIMIT 지원을 추가하는 데 관심을 표명했다는 점에 유의하는 것이 중요합니다.

위 내용은 SQL Server에서 MySQL의 LIMIT 절을 복제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿