在 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中文网其他相关文章!