oracle中的 order by


現有的一個表:

 

  • 單個字段的升序排列,默認是升序,也可以是 asc;降序排列,desc;

 

 

 

 

  • oracle在order by時認為null是最大值, 所以如果是asc升序則排在最后, desc降序則排在最前.我們可以使用nulls first或者nulls last來控制null的位置;

 

 

 

 

  • 當對多個字段進行排序,選對 stuname降序排列,如果stuname相同,則按照stuid降序排列;

 

 

  • 結合函數 decode() 函數來使用

DECODE(value, if1, then1, if2,then2, if3,then3, . . . else )
  Value 代表某個表的任何類型的任意列或一個通過計算所得的任何結果。當每個value值被測試,如果value的值為if1,Decode 函數的結果是then1;如果value等於if2,Decode函數結果是then2;等等。事實上,可以給出多個if/then 配對。如果value結果不等於給出的任何配對時,Decode 結果就返回else ;

  • stuid為8的排在第一位:
  • stuid為8的排在第一位,其他的按照stuid降序排列

 

 

 

  • stuname為 以A開頭的最先顯示,剩下的按照 stuname升序排列

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM