Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melaksanakan Langkau dan Mengambil Kefungsian untuk Paging dengan Pertanyaan SQL?

Bagaimana untuk Melaksanakan Langkau dan Mengambil Kefungsian untuk Paging dengan Pertanyaan SQL?

DDD
Lepaskan: 2025-01-10 21:11:46
asal
172 orang telah melayarinya

How to Implement Skip and Take Functionality for Paging with SQL Queries?

Kelui pertanyaan SQL: laksanakan langkau dan dapatkan fungsi

Untuk melaksanakan penomboran tersuai dalam SQL dan mendapatkan semula bilangan rekod tertentu daripada set data yang besar, anda perlu menggunakan langkau dan dapatkan fungsi. Di bawah ialah demonstrasi cara mencapai ini menggunakan pertanyaan SQL.

Pernyataan pertanyaan

Anda mempunyai pertanyaan yang mendapatkan semula PostId daripada jadual yang mengandungi entri forum, dikumpulkan mengikut PostId dan diisih mengikut DateMade maksimum setiap siaran. Pertanyaan ini berfungsi dengan baik, tetapi anda ingin menambah fungsi penomboran kepadanya.

Penyelesaian

Untuk SQL Server 2012 dan ke atas

Bermula dengan SQL Server 2012, anda boleh melangkau dan mendapatkan rekod dengan mudah menggunakan klausa OFFSET dan FETCH NEXT. Pertanyaan yang diubah suai kelihatan seperti ini:

<code class="language-sql">SELECT PostId FROM
(
  SELECT PostId, MAX(DateMade) AS LastDate
  FROM dbForumEntry
  GROUP BY PostId
) SubQueryAlias
ORDER BY LastDate DESC
OFFSET 10 ROWS
FETCH NEXT 10 ROWS ONLY;</code>
Salin selepas log masuk

Untuk SQL Server 2008

Dalam SQL Server 2008, anda boleh menggunakan ROW_NUMBER() untuk menetapkan nombor urutan pada setiap rekod dan kemudian menggunakan penapis untuk memilih rekod yang diperlukan. Berikut ialah pertanyaan yang diubah suai:

<code class="language-sql">DECLARE @Start INT
DECLARE @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 > @Start AND RowNumber <= @End;</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Langkau dan Mengambil Kefungsian untuk Paging dengan Pertanyaan SQL?. 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