Menghadkan Set Keputusan dalam Pertanyaan Pelayan SQL
SQL Server menawarkan beberapa kaedah untuk mengehadkan bilangan baris yang dikembalikan oleh pertanyaan, mencerminkan fungsi klausa LIMIT
dalam MySQL. Mari kita teliti teknik ini:
SQL Server 2005 dan Kemudian:
Fungsi ROW_NUMBER()
menyediakan penyelesaian yang elegan untuk versi 2005 dan seterusnya:
<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>
Ini memberikan nombor baris unik pada setiap baris, membolehkan pemilihan julat baris tertentu.
SQL Server 2000 dan Terdahulu:
Untuk versi lama (2000 dan ke bawah), pertanyaan bersarang dengan klausa TOP
diperlukan:
<code class="language-sql">SELECT TOP 10 * FROM (SELECT TOP 20 * FROM Table ORDER BY Id) AS LimitedSet ORDER BY Id DESC;</code>
Pertanyaan bersarang ini mula-mula mendapatkan semula 20 baris teratas, disusun mengikut Id
, dan kemudian pertanyaan luar memilih 10 teratas daripada subset itu, mencapai had baris yang diingini.
Dengan menggunakan ROW_NUMBER()
(untuk versi lebih baharu) atau klausa TOP
dengan pertanyaan bersarang (untuk versi lama), anda boleh menguruskan bilangan baris yang dikembalikan dalam pertanyaan SQL Server anda dengan berkesan, meniru gelagat LIMIT
fasal.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Fungsi LIMIT dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!