Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengganti Klausa LIMIT MySQL dalam 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!