Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyoal Rekod N Teratas dengan Cekap Merentas Berbilang Kategori dalam SQL?

Bagaimana untuk Menyoal Rekod N Teratas dengan Cekap Merentas Berbilang Kategori dalam SQL?

Susan Sarandon
Lepaskan: 2025-01-21 06:11:08
asal
502 orang telah melayarinya

How to Efficiently Query Top N Records Across Multiple Categories in SQL?

Mendapatkan semula Rekod N Teratas daripada Berbilang Kategori dalam SQL

Teknik SQL ini dengan cekap mendapatkan semula rekod N teratas (cth., 10 teratas) daripada pelbagai kategori dalam satu jadual.

<code class="language-sql">SELECT rs.Field1, rs.Field2
FROM (
    SELECT Field1, Field2,
    RANK() OVER (PARTITION BY Section ORDER BY RankCriteria DESC) AS Rank
    FROM table
) rs
WHERE Rank <= 10;</code>
Salin selepas log masuk

Penjelasan:

  • Field1 dan Field2: Ini mewakili lajur yang ingin anda dapatkan semula.
  • Pernyataan SELECT dalam menggunakan fungsi tetingkap RANK(). PARTITION BY Section membahagikan data kepada kumpulan berdasarkan kategori 'Bahagian'. ORDER BY RankCriteria DESC mengisih rekod dalam setiap bahagian mengikut kriteria kedudukan anda dalam tertib menurun. Rank memberikan pangkat kepada setiap rekod dalam bahagiannya.
  • Pernyataan SELECT luar menapis keputusan, menyimpan hanya rekod dengan nilai Rank 10 atau kurang (Rank <= 10).

Kaedah ini cekap dan berfungsi walaupun pada sistem pangkalan data yang mungkin kekurangan fungsi menghadkan baris khusus. Ia sesuai apabila prestasi kritikal.

Atas ialah kandungan terperinci Bagaimana untuk Menyoal Rekod N Teratas dengan Cekap Merentas Berbilang Kategori dalam 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan