Oracle SQL帮助:使用group by后,计数类型

时间:2012-12-19 07:11:55

标签: sql oracle count group-by

我遇到了一个我无法解决的问题。 我有一个包含以下列的表: Personidtype

每个personid可以有多行 我期望的结果将是每个人有多少行类型5,12,71的聚合。

所以表格看起来像这样:

  Personid  type 5  type 12  type 71

   11          0       2        7
   15          1       6        0

1 个答案:

答案 0 :(得分:2)

select
  personid,
  count(case when type = 5 then 1 end) type5cnt,
  count(case when type = 12 then 12 end) type12cnt,
  count(case when type = 71 then 71 end) type71cnt
from table_name
group by personid