关于sql排序、排名的…
以前业务需要,要搞个自动递增的序号列,具体见文章《sql查询增加自动递增的序号列》,坦白说,只会用,但始终不能理解。
今天巧了,无意中听了一节课,恍然大悟,原来这是开窗函数中的用法。
对于mysql来说,8.0以后才有的开窗函数....
<开窗函数> over ([PARTITION by<分组列>] Order by<排序列>)
常用于解决排名的,主要有:row_number() over()
、rank() over()
、dense_rank() over()
select dp,wlmc,ckfl,sl ,
row_number() over (partition by ckfl order by sl ) rw1,
rank() over (partition by ckfl order by sl) rw2,
dense_rank() over (partition by ckfl order by sl) rw3
from uf_kcgl where sl>1
也许在未来的某一天会发现今天得文章也会错洞百出~~勉之~~~
THE END
0
二维码
打赏
海报
关于sql排序、排名的…
以前业务需要,要搞个自动递增的序号列,具体见文章《sql查询增加自动递增的序号列》,坦白说,只会用,但始终不能理解。
今天巧了,无意中听了一节课,恍然大……
共有 0 条评论