赞
踩
在项目中有时候碰到一些比较难处理的批量数据的处理,数据很多,不可能一个的去处理,而且不是有完全一样的规律。例如一个供应商回供应很多零部件,每个供应商提供的零部件的品种存在相同存在不同的数量也不一样,我想统计每一个供应商的供货量前五大的零部件。用循环的也能实现,后来用了一下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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。