Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan 10 Rekod Teratas setiap Kategori Menggunakan SQL Server 2005?

Bagaimana untuk Mendapatkan 10 Rekod Teratas setiap Kategori Menggunakan SQL Server 2005?

Barbara Streisand
Barbara Streisandasal
2025-01-21 06:06:08950semak imbas

How to Retrieve the Top 10 Records per Category Using SQL Server 2005?

Mengekstrak 10 Rekod Teratas setiap Kategori dalam SQL Server 2005

Panduan ini menunjukkan cara untuk mendapatkan semula 10 rekod teratas untuk setiap kategori dengan cekap menggunakan satu pertanyaan SQL Server 2005.

Ini penyelesaiannya:

<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>

Pertanyaan ini menggunakan fungsi RANK() untuk menetapkan kedudukan kepada setiap rekod dalam kategorinya, berdasarkan RankCriteria (lajur yang mentakrifkan susunan kedudukan). Klausa PARTITION BY Section memastikan kedudukan bebas dalam setiap kategori. RANK() memberikan kedudukan berurutan, bermula pada 1 untuk rekod kedudukan tertinggi.

Klausa WHERE Rank <= 10 menapis keputusan, mengehadkan output kepada 10 rekod teratas dalam setiap kategori. Adalah penting untuk diingat bahawa jika ikatan wujud dalam RankCriteria, lebih daripada 10 rekod mungkin dikembalikan untuk satu kategori.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan 10 Rekod Teratas setiap Kategori Menggunakan SQL Server 2005?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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