row_number() over (partition by name,kecheng,score order by

row_number() over (partition by name,kecheng,score order by rowid) 这个该怎么理解:
row_number() over(partition by name,kecheng,score
名缰利锁9 1年前 已收到1个回答 举报

jiayiqun2002 幼苗

共回答了15个问题采纳率:93.3% 举报

ow_number() 顺序号码,也就是 行号,比如 1,2,3,4,5 这样的顺序.
over 语法需要,必须的.
partition by name,kecheng,score 是按照 name,kecheng,score 分区.
也就是 如果有 不同的 name,kecheng,score ,这个 序号又重新从1开始计算.
order by rowid 是 排序方式,也就是 最小的 rowid ,row_number() 是1,然后随着 rowid 的增加,row_number() 不断递增.

1年前 追问

5

名缰利锁9 举报

很详细 谢谢啊~ 还有问题 rownum 也可以实现顺序啊 为什么换成rownum就不行了? row_number和rownum 有什么区别呢

举报 jiayiqun2002

rownum Oracle 特有的, 仅仅记录行号, 但是好像不能分组。 也就是不能记录几行了,又回到1重新开始。 ROW_NUMBER / RANK / DENSE_RANK / NTILE 是 Oracle 与 SQL Server 都支持的。 支持分组与排序。 你可以看看参考资料里面的例子
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 1.372 s. - webmaster@yulucn.com