在项目中有时候碰到一些比较难处理的批量数据的处理,数据很多,不可能一个的去处理,而且不是有完全一样的规律。例如一个供应商回供应很多零部件,每个供应商提供的零部件的品种存在相同存在不同的数量也不一样,我想统计每一个供应商的供货量前五大的零部件。用循环的也能实现,后来用了一下partition函数,挺好用的,三种排名方式可以尝试一下
1.
select RANK() over(partition by VenID order by iquantity desc) as num,* from VenMain
2.
select DENSE_RANK() over(partition by VenID order by iquantity desc) as num,* from VenMain
3.
select ROW_NUMBER() over(partition by VenID order by iquantity desc) as num,* from VenMain
本文介绍了如何在项目中通过SQL的partition函数,如RANK(), DENSE_RANK(), ROW_NUMBER(),快速统计每个供应商的前五大零部件供货量,展示了三种排名方式的应用实例,帮助解决大规模数据处理中的复杂问题。

3303

被折叠的 条评论
为什么被折叠?



