
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>
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>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!
Pengenalan kepada peranan pelayan awan
Pengenalan kepada penunjuk prestasi cakera keras
Bagaimana untuk mengemas kini pemacu kad grafik
Bagaimana untuk memadam indeks dalam mysql
cip
Cara menonton rekod main balik siaran langsung di Douyin
penyelesaian pengecualian instantiationexception
Bagaimana untuk memulihkan fail yang dipadam secara kekal pada komputer