トップページに戻る    次のSQLパズルへ    前のSQLパズルへ

10-51 一行目に総合計を出力

SQLパズル

testテーブル
Seq  Item  Cost
---  ----  ----
001  itm1  101
002  itm2  102
003  itm3  103
004  itm4  104

testテーブルの
Seqが最小のデータの行のCostに、Costの総合計を出力する

出力結果
Seq  Cost
---  ----
001   410
002  null
003  null
004  null

こちらを参考にさせていただきました(英語)


データ作成スクリプト

create table test(
Seq  char(3),
Item char(4),
Cost number(3));

insert into test values('001','itm1',101);
insert into test values('002','itm2',102);
insert into test values('003','itm3',103);
insert into test values('004','itm4',104);
commit;


SQL

select Seq,
decode(Seq,min(Seq) over(),sum(Cost) over()) as cost
from test;


解説

decode関数と分析関数を組み合わせてます