Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengganti Klausa LIMIT MySQL dalam SQL Server?

Bagaimana untuk Mengganti Klausa LIMIT MySQL dalam SQL Server?

Susan Sarandon
Susan Sarandonasal
2024-12-08 08:01:17298semak imbas

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

Setara dengan MySQL LIMIT Klausa untuk SQL Server

Ramai pembangun telah mencari alternatif kepada klausa LIMIT untuk SQL Server, kerana ia tetap menjadi perhatian ketiadaan dalam platform. Untuk menangani isu ini, mari kita mendalami penyelesaian yang tersedia.

Untuk SQL Server 2012 dan seterusnya, sintaks OFFSET/FETCH, sebahagian daripada standard ANSI, menawarkan penyelesaian:

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

Sebelumnya kepada SQL Server 2012, kaedah ROW_NUMBER() boleh digunakan, seperti yang diterangkan dalam ini artikel.

Walau bagaimanapun, jika SQL Server 2012 tidak tersedia, penyelesaian yang melibatkan ungkapan jadual biasa (CTE) boleh digunakan:

;WITH o AS
(
    SELECT TOP ((@start_from - 1) + @items_on_page)
         -- Again, this calculation depends on the method used for @start_from
      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;

Ini adalah salah satu daripada beberapa kaedah yang boleh digunakan untuk mencapai hasil yang diinginkan. Adalah penting untuk menyemak dokumentasi yang tersedia dan mempertimbangkan kecekapan pendekatan yang dipilih.

Atas ialah kandungan terperinci Bagaimana untuk Mengganti Klausa LIMIT MySQL dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn