1、取该分组下得分最高的所有记录
例如:取不同商品类型中销量最高的所有商品——有重复
select t.* from
(select *,rank() over (partition by 商品类型 order by 销量 desc) rn
from test
) t
where rn=1;
结果如下:
2、取该分组下得分最高的第一行记录
例如:取不同商品类型中销量最高的第一个商品——每个类型只取一行
select t.* from
(select *,row_number() over (partition by 商品类型 order by 销量 desc) rn
from test) t
where rn=1;
结果如下: