在 SQL Server 2005 中擷取每個類別的前 10 筆記錄
本指南示範如何使用單一 SQL Server 2005 查詢高效檢索每個類別的前 10 筆記錄。
解決方案如下:
<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>
此查詢使用 RANK()
函數根據 RankCriteria
(定義排名順序的欄位)為其類別中的每筆記錄分配排名。 PARTITION BY Section
子句確保每個類別內的獨立排名。 RANK()
分配連續排名,從最高排名記錄的 1 開始。
WHERE Rank <= 10
子句過濾結果,將輸出限制為每個類別中的前 10 個記錄。 請務必記住,如果 RankCriteria
中存在聯繫,則可能會為某個類別傳回 10 條以上的記錄。
以上是如何使用 SQL Server 2005 檢索每個類別的前 10 筆記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!