2010年7月24日土曜日

order byで激はまり


今日はクエリのorder byで激はまりしました
SQL SERVERだったんですけど
table hoge
idnonum
12100
21200
3NULL300
4NULL400
これを

table hoge
idnonum
3NULL300
4NULL400
21200
12100
こう並べたかったんですけど、条件としては
  • noがNULLである行が最優先
  • noがNULL以外の中でnumの値を降順でソートする
もしかしたらすごく簡単なのかもしれませんが、スキルが低くてかなりはまりました。
order byするときに複数カラムを同時に見てソートするって出来るんでしょうかね?
で、苦労の末に出来上がったクエリがこれです。
  1. select  
  2.  *  
  3. from  
  4.  hoge  
  5. order by  
  6.  no / no * num * -1;  

0 件のコメント:

コメントを投稿