我想在一个查询中返回每个部分的前10条记录。任何人都可以帮忙吗?节是表中的列之一。
数据库是SQL Server2005。我想按输入的日期返回前十名。部分是业务,本地和功能。对于一个特定的日期,我只想要前(10)个业务行(最新条目),前(10)个本地行和前(10)个功能。
问题来源于stack overflow
如果您使用的是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的解决方案可能更适合您。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。