我想在一个查询中返回每个部分的前 10 条记录。任何人都可以帮助如何做到这一点吗?部分是表中的列之一。
数据库是 SQL Server 2005。我想返回按输入日期排列的前 10 名。部分分为业务部分、本地部分和特色部分。对于某个特定日期,我只需要前 (10) 个业务行(最新条目)、前 (10) 个本地行和前 (10) 个要素。
如果您使用 SQL 2005,您可以执行以下操作...
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
如果您的 RankCriteria 具有联系,那么您可能会返回超过 10 行,而 Matt 的解决方案可能更适合您。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)