zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

SQL partition (小组排序)

SQL排序 partition 小组
2023-09-11 14:21:23 时间

很多时候,我们在SQL中进行数据去重(distinct)

结果发现有2条一样ID,或者name的数据,我们想要最接近的那条数据。


直接看看题目:

原表

select ID,Title,PRICE from Movies



现在我们想筛选 相同title下,金额最大的:

select * from (
select id,ROW_NUMBER() over(partition by title order by price desc) rid,title,price from Movies)A
where A.rid=1 
order by A.id


PS: 主要是运用 partition by 来进行小分组。

按照某个字段将一组数据进行分组