Mencapai Fungsi LIMIT dalam SQL Server
SQL Server menawarkan beberapa cara untuk mengehadkan bilangan baris yang dikembalikan oleh pertanyaan, mencerminkan klausa LIMIT
MySQL.
SQL Server 2005 dan Versi Seterusnya
Dari SQL Server 2005 dan seterusnya, fungsi ROW_NUMBER()
dalam Common Table Expression (CTE) menyediakan penyelesaian yang bersih. Berikut ialah ilustrasi:
<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>
Versi Pelayan SQL Lama (2000 dan Terdahulu)
Untuk versi sebelum SQL Server 2005, pendekatan gabungan menggunakan TOP
dan ORDER BY
diperlukan:
<code class="language-sql">SELECT TOP 10 * FROM (SELECT TOP 20 * FROM YourTable ORDER BY Id) AS Subquery ORDER BY Id DESC;</code>
Teknik ini mula-mula mendapatkan semula 20 baris teratas, kemudian memilih 10 teratas daripada subset itu, dengan berkesan mencapai had berasaskan julat. Ambil perhatian bahawa ORDER BY
bersarang adalah penting untuk hasil yang betul. Gantikan YourTable
dan Id
dengan jadual sebenar dan lajur pesanan anda.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan SQL Server Setara dengan Klausa LIMIT MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!