トップページに戻る
次のSQLパズルへ
前のSQLパズルへ
5-19 order by句でdecode関数
SQLパズル
ItemTable
itemA
-----
0
1
2
3
4
itemAの降順(ただし4が最後)にソートして出力する。
出力結果
itemA
-----
3
2
1
0
4
データ作成スクリプト
create table ItemTable(itemA number(2));
begin
for i in 0..10 loop
insert into ItemTable values(i);
end loop;
commit;
end;
/
SQL
--■■■decode関数を使用■■■
select itemA from ItemTable
order by decode(itemA,4,1,0),itemA desc;
--■■■case式を使用■■■
select itemA from ItemTable
order by
case itemA when 4 then 1 else 0 end,itemA desc;
解説
order by句でdecode関数による分岐を使用してます。
case式で分岐させてもいいでしょう。