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

时间:2015-01-23 16:46:53

标签: sql reportbuilder3.0 reportbuilder report-builder2.0

我正在使用Reportbuilder,我到达了一个点,我需要从列表中的每个值中选择前10个元素。请问有什么方法吗?

1 个答案:

答案 0 :(得分:0)

您可以在纯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