Gunakan OFFSET dan FETCH untuk melaksanakan paging dalam SQL Server
SQL Server tidak mempunyai persamaan langsung dengan klausa LIMIT
dalam MySQL atau SQL. Walau bagaimanapun, ia menyediakan cara alternatif untuk mencapai kefungsian yang serupa menggunakan klausa OFFSET
dan FETCH
.
OFFSET dan FETCH
Untuk melaksanakan penomboran menggunakan OFFSET
dan FETCH
, ikut langkah berikut:
ORDER BY
untuk mengisih data dalam susunan yang diingini. OFFSET
menentukan bilangan baris pada permulaan set keputusan untuk dilangkau. FETCH
menentukan bilangan baris untuk dikembalikan selepas melangkau baris offset. Contoh:
<code class="language-sql">SELECT * FROM sys.databases ORDER BY name OFFSET 5 ROWS FETCH NEXT 5 ROWS ONLY;</code>
Pertanyaan ini akan melangkau 5 baris pertama (OFFSET 5 ROWS
) dan mengembalikan 5 baris seterusnya (FETCH NEXT 5 ROWS ONLY
).
Alternatif untuk versi SQL Server yang lebih lama:
Untuk versi SQL Server sebelum 2012, alternatif yang kurang cekap wujud:
Sebab hilang LIMIT
Klausa LIMIT
tiada dalam SQL Server terutamanya atas sebab sejarah dan seni bina. Microsoft mereka bentuk SQL Server dengan fokus pada prestasi tinggi dan integriti data, dan mekanisme OFFSET
dan FETCH
dianggap lebih cekap dan serba boleh untuk halaman. Walau bagaimanapun, dalam versi terkini, SQL Server telah dikemas kini untuk memasukkan ROW_NUMBER()
dan pengoptimuman lain, menjadikan OFFSET
dan FETCH
lebih setanding dengan LIMIT
.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Penomboran dalam Pelayan SQL Menggunakan OFFSET dan FETCH?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!