oracle中rank函數(shù)怎么用 oraclerank函數(shù)怎么用?
oraclerank函數(shù)怎么用?rank是oracle分析函數(shù)中的一個(gè),主要用法是 rank()over(partiton by XX orader by ZZ desc)(分組排序序號(hào)) 一般用
oraclerank函數(shù)怎么用?
rank是oracle分析函數(shù)中的一個(gè),主要用法是 rank()over(partiton by XX orader by ZZ desc)(分組排序序號(hào)) 一般用來分組排序,與group by XX order by ZZ 不同的是,它并不影響現(xiàn)有數(shù)據(jù)。 比如: xx zz
1
2 1
3 1
4 2 2 2 6 那么 select xx,zz,rank()over(partiton by XX orader by ZZ ) aa from table的結(jié)果為 xx zz aa 1 2 1 1 3 2 1 4 3 2 2 1 2 6 2 partition by可不寫,這樣就是全局排序,與order by的排序結(jié)果相同,只是會(huì)存在序號(hào) 還有其他用法,而且還有很多分析函數(shù),這個(gè)可以上網(wǎng)找找,oracle分析函數(shù),里面的例子好多,希望對(duì)你有幫助。
oracle中函數(shù)rank中的over是什么意思?
over()是分析函數(shù),可以和rank()函數(shù)配合使用,也可以和其他函數(shù)配合使用。下面給出一些來自網(wǎng)上的示例: TABLE:S (subject,mark) 數(shù)學(xué),80 語(yǔ)文,70 數(shù)學(xué),90 數(shù)學(xué),60 數(shù)學(xué),100 語(yǔ)文,88 語(yǔ)文,65 語(yǔ)文,77 現(xiàn)在我想要的結(jié)果是:每門科目的前3名的分?jǐn)?shù) 數(shù)學(xué),100 數(shù)學(xué),90 數(shù)學(xué),80 語(yǔ)文,88 語(yǔ)文,77 語(yǔ)文,70 那么語(yǔ)句就這么寫: select * from (select rank() over(partition by subject order by mark desc) rk,S.* from S) T where T.rk<=3
Oracle分析函數(shù)RANK()?
rank是oracle分析函數(shù)中的一個(gè),主要用法是rank()over(partiton by XX orader by ZZ desc)(分組排序序號(hào))一般用來分組排序,與group by XX order by ZZ 不同的是,它并不影響現(xiàn)有數(shù)據(jù)。比如:xx zz1 21 31 42 22 6那么select xx,zz,rank()over(partiton by XX orader by ZZ ) aa from table的結(jié)果為xx zz aa1 2 11 3 21 4 32 2 12 6 2partition by可不寫,這樣就是全局排序,與order by的排序結(jié)果相同,只是會(huì)存在序號(hào)還有其他用法,而且還有很多分析函數(shù),這個(gè)可以上網(wǎng)找找,oracle分析函數(shù),里面的例子好多,希望對(duì)你有幫助。