Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melaksanakan Penomboran dalam Pelayan SQL Menggunakan OFFSET dan FETCH?

Bagaimana untuk Melaksanakan Penomboran dalam Pelayan SQL Menggunakan OFFSET dan FETCH?

DDD
Lepaskan: 2025-01-18 18:26:16
asal
695 orang telah melayarinya

How to Implement Pagination in SQL Server Using OFFSET and FETCH?

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:

  1. Isih data: Gunakan klausa ORDER BY untuk mengisih data dalam susunan yang diingini.
  2. Langkau baris menggunakan OFFSET: Klausa OFFSET menentukan bilangan baris pada permulaan set keputusan untuk dilangkau.
  3. Hadkan bilangan baris menggunakan FETCH: Klausa 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>
Salin selepas log masuk

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:

  • Gunakan TOP dan ORDER OLEH: Ini boleh mengelirukan dan mungkin tidak mengendalikan penomboran dengan betul apabila menggunakan indeks.
  • Menggunakan ROW_NUMBER() dan WHERE: Ini melibatkan penciptaan jadual sementara dengan lajur nombor baris dan penapisan berdasarkan nombor baris.

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan