row_number() over(partition by col1 order by col2) as 别名
表示根据col1分组,在分组内部根据col2排序
而这个“别名”的值就每组内部排序后的顺序编号(组内连续的唯一的)
partition by col1 可省略。
------------------------------------
例子:
根据用户名分组,在分组内部根据用户名排序 (组内连续的唯一的编码)
select * from
(
select id,name,row_number() over(partition by name order by name) Rownumberf
from users
) t
where t.Rownumberf = 1
本文展示了如何使用SQL的row_number()函数结合partition by和order by进行数据分组和排序,通过实例演示了根据特定字段分组并为每个组内的记录分配连续唯一编号的方法。
3454

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



