日期:2014-05-16 浏览次数:20559 次
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
?
?