SQL查询显示2个具有不同条件的列

时间:2014-05-09 01:10:54

标签: sql oracle11g

我的数据库oracle中有这样的表。

WITEL-驾驶员学校月

一个------------ ------------ř2

一个------------ ------------小号3

乙------------ ------------小号2

c ^ ------------ ------------Ť3

乙------------ ------------Ť2

一个------------ ------------Ť3

Ç------------ ------------小号2

Ç------------ ------------小号2

一个------------ ------------小号2

一个------------ ------------小号2

一个------------ ------------小号3

一个------------ ------------小号3

乙------------ ------------小号3

任何人都有想法,可以显示数据的查询 这个:

WITEL - COUNT-1 - COUNT-2

一个----------- ----------- 3 5

乙----------- ----------- 1 2

c ^ 2 ----------- ----------- 2

第一列是witel,第二列是witel的计数WHERE KATEGORI = S AND MONTH = 3 但是第三栏是KATEGORI = S所有witel的计数。谢谢

1 个答案:

答案 0 :(得分:0)

您希望条件聚合使用像SUM()这样的聚合函数,并将CASE语句作为参数:

select witel,
       sum(case when KATEGORI = 'S' AND MONTH = 3 then 1 else 0 end) as count1,
       sum(case when KATEGORI = 'S' then 1 else 0 end) as count2
from table t
group by witel;