从列表中的每个值中选择前 10 个元素

Posted

技术标签:

【中文标题】从列表中的每个值中选择前 10 个元素【英文标题】:Select Top 10 Elements from each value in a list 【发布时间】:2015-01-23 16:46:52 【问题描述】:

我正在使用 Reportbuilder,我需要。请问有什么方法可以解决这个问题吗?

【问题讨论】:

【参考方案1】:

您可以在纯 SQL 中执行此操作,具体取决于 RDBMS。在 MS SQL Server 中,您可以在子查询中使用ROW_NUMBER() OVER(),然后将主查询限制为每个组的前 10 行。

SELECT <FieldList>
FROM (
    SELECT <FieldList>,
        ROW_NUMBER() OVER (PARTITION BY <Group Fields> ORDER BY <Order of records fields>) AS RowNum
    FROM <Tables>
    ) T
WHERE T.RowNum <= 10

【讨论】:

以上是关于从列表中的每个值中选择前 10 个元素的主要内容,如果未能解决你的问题,请参考以下文章