Laksanakan fungsi yang setara dengan klausa LIMIT dalam SQL Server
Banyak pangkalan data SQL menyokong klausa LIMIT untuk mengehadkan bilangan baris yang dikembalikan dalam set hasil. Walaupun MySQL menyokong LIMIT secara langsung, SQL Server tidak mempunyai klausa yang setara. Walau bagaimanapun, SQL Server menyediakan pelbagai cara untuk mencapai fungsi yang sama.
Kaedah 1: Gunakan ROW_NUMBER() dan ANTARA
Untuk SQL Server 2005 dan ke atas, anda boleh menggunakan fungsi ROW_NUMBER() untuk menetapkan nombor baris pada setiap rekod dalam set hasil. Kemudian, gunakan operator BETWEEN untuk menapis set hasil berdasarkan nombor baris.
<code class="language-sql">USE AdventureWorks; GO WITH OrderedOrders AS ( SELECT SalesOrderID, OrderDate, ROW_NUMBER() OVER (ORDER BY OrderDate) AS 'RowNumber' FROM Sales.SalesOrderHeader ) SELECT * FROM OrderedOrders WHERE RowNumber BETWEEN 10 AND 20;</code>
Kaedah 2: Gunakan pertanyaan ATAS dan luar
Untuk SQL Server 2000 dan versi terdahulu, anda boleh menggunakan pertanyaan bersarang, menggabungkan klausa TOP dan ORDER BY. Pertanyaan luar memilih bilangan baris tertentu daripada pertanyaan dalam.
<code class="language-sql">SELECT TOP 10 * FROM (SELECT TOP 20 * FROM Table ORDER BY Id) ORDER BY Id DESC</code>
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Setara dengan Klausa LIMIT dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!