ROWNUM的使用
| 一個偽列看起來像是一個表中的列,但實際上并不保存在表中。你可以查詢, 但是不能插入,修改和刪除其中的值。一個偽列也類似于一個沒有參數的函 數。但是在典型情況下,在結果集中可以為每一行返回相同的值,而偽列通 常為每一行返回不同的值。 ROWNUM偽列為每個查詢返回的行提供一個值,這個值反映了表查詢或者 連接的行出現的先后順序。查到的第一行rownum為1,第二行為2 以此類推. 如果ROWNUM與Order By子句同時出現相同的查詢中,則行將被ORDER BY 子 句重新排序。結果的變化取決于訪問數據的方式。 例如如果ORDER BY子句促使Oracle 使用索引來訪問數據,Oracle取回數據的 順序將于不用索引不同。因此后面的語句返回的結果將于上一個查詢不同 | |
| 查詢展現工資處 于第6到第10位的員工信息 | select *
from (select rownum rn,
from ( select *
from scott. emp e
order by sal desc) e)where rn 6 and 10 ? |
| 利用ROWNUM 進行字符串拆分 | 將’a,BB,dd,aaa’ 拆分成四行 結果為: a BB dd aaa select substr( ','|| 'a,BB,dd,aaa'|| ' , ' ,instr(','||'a,BB,dd,aaa'||',', ',', 1, rownum) + 1,instr(','||'a,BB,dd,aaa'||',', ',', 1, rownum+1) -instr(','||'a,BB,dd,aaa'|| ',',',', 1, rownum) - 1 )from dictwhere rownum <=length('a,BB,dd,aaa') - length (replace('a,BB,dd,aaa', ',')) +1 ;? |
| 利用ROWNUM解決 斷層問題 | ? |
?
總結
- 上一篇: 定时删除脚本
- 下一篇: Elasticsearch 7.x 安装