最初由 firemoth 发布
[B]你看清楚题目了吗?讲的比唱得还好听。 要求只用一次查询做完三次count阿!case你个头 [/B]
create table aaa
(
a number,
b number,
c number
)
insert into aaa values (1,2,3);
insert into aaa values (3,2,1);
insert into aaa values (2,2,2);
commit;
SQL> select * from aaa;
A
B
C
---------- ---------- ----------
1
2
3
3
2
1
2
2
2
SQL> select sum(decode(a, 1, 1, 0)),
2 sum(decode(b, 0, 1, 0)),
3 sum(decode(c, 3, 1, 0))
4from aaa
5/
SQL> select sum(decode(a, 1, 1, 0)),
2 sum(decode(b, 0, 1, 0)),
3 sum(decode(c, 3, 1, 0))
4from aaa
5/
SQL> select sum(decode(a, 1, 1, 0)) a,
2 sum(decode(b, 0, 1, 0)) b,
3 sum(decode(c, 3, 1, 0)) c
4from aaa
5/
A
B
C
---------- ---------- ----------
1
0
1
|