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するときに複数カラムを同時に見てソートするって出来るんでしょうかね?
で、苦労の末に出来上がったクエリがこれです。
select
 *
from
 hoge
order by
 no / no * num * -1;

0 件のコメント:

コメントを投稿