SQL Server 类似于 foreach

东契内

我有 colums这个视图 在此处输入图片说明

现在我想要每个 ShipRegion 的 TOP 2 元素。我使用这样的查询

SELECT Region, CustomerID, SUM(ExtendedPrice) AS Price 
FROM Invoices 
GROUP BY CustomerID, Region 
ORDER BY Region, Price DESC;

该查询生成类似值这个 在此处输入图片说明

现在我只需要为每个区域选择 2 个最大值。

戈登·利诺夫

使用row_number()

select rc.*
from (select region, customerid, sum(extendedPrice) as price,
             row_number() over (partition by region order by sum(extendedprice) desc) as seqnum
      from invoices
      group by region, customerid
     ) rc
where seqnum <= 2;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章