Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melaksanakan Penomboran Tersuai dalam Pelayan SQL Menggunakan OFFSET/FETCH dan ROW_NUMBER()?

Bagaimana untuk Melaksanakan Penomboran Tersuai dalam Pelayan SQL Menggunakan OFFSET/FETCH dan ROW_NUMBER()?

Linda Hamilton
Lepaskan: 2025-01-10 21:07:42
asal
527 orang telah melayarinya

How to Implement Custom Pagination in SQL Server Using OFFSET/FETCH and ROW_NUMBER()?

Paging tersuai Pelayan SQL: kaedah OFFSET/FETCH dan ROW_NUMBER()

Penomboran SQL digunakan untuk mendapatkan semula bilangan rekod yang terhad daripada set data dan biasanya digunakan untuk memaparkan hasil dalam halaman pada antara muka pengguna. Matlamat artikel ini adalah untuk melaksanakan fungsi paging untuk pertanyaan yang mendapatkan semula siaran dan entri terkininya.

SQL Server 2012 dan versi yang lebih baru boleh menggunakan kata kunci OFFSET dan FETCH NEXT untuk melaksanakan halaman. Pertanyaan berikut menunjukkan cara menggunakan kata kunci ini untuk penomboran:

<code class="language-sql">SELECT PostId
FROM (
    SELECT PostId, MAX(Datemade) AS LastDate
    FROM dbForumEntry
    GROUP BY PostId
) AS SubQueryAlias
ORDER BY LastDate DESC
OFFSET 10 ROWS    -- 跳过10行
FETCH NEXT 10 ROWS ONLY;  -- 获取接下来的10行</code>
Salin selepas log masuk

Untuk versi sebelum SQL Server 2012, pendekatan berbeza diperlukan. Satu cara ialah menggunakan fungsi ROW_NUMBER() untuk menetapkan nombor baris pada rekod dan kemudian gunakan klausa WHERE untuk menapis baris yang dikehendaki:

<code class="language-sql">DECLARE @Start INT, @End INT;
SELECT @Start = 10, @End = 20;

WITH PostCTE AS (
    SELECT PostId, MAX(Datemade) AS LastDate,
    ROW_NUMBER() OVER (ORDER BY PostId) AS RowNumber
    FROM dbForumEntry
    GROUP BY PostId
)
SELECT PostId, LastDate
FROM PostCTE
WHERE RowNumber BETWEEN @Start AND @End; -- 获取第10到20行</code>
Salin selepas log masuk

Pendekatan ini menyediakan cara untuk melaksanakan paging untuk versi SQL Server yang lebih awal, membolehkan anda mengawal bilangan rekod yang dipaparkan dan memudahkan navigasi set data yang besar.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Penomboran Tersuai dalam Pelayan SQL Menggunakan OFFSET/FETCH dan ROW_NUMBER()?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan