当前位置: 代码迷 >> Oracle开发 >> 关于查询组合数的SQL,该怎么解决
  详细解决方案

关于查询组合数的SQL,该怎么解决

热度:100   发布时间:2016-04-24 06:30:37.0
关于查询组合数的SQL
有一表test,字段及记录举例如下:
col1  col2
1      a 
1      b
1      c
2      a
2      b
2      c
3      a
3      b
4      a
4      c
5      b
5      c
6      a
6      b

字段col2是枚举值的,取值范围仅限于a或b或c,求col2每个组合的总数,即相同的col1字段的值不同的col2字段的组合总数,例col2字段同时具有abc值的总数为2,而同时具有ab值的总数也为2

------解决思路----------------------
取值范围确定了就简单多了
select A
------解决思路----------------------
B
------解决思路----------------------
C,COUNT(1)
FROM(
    select col1,
    max(decode(col2,'a',col2)) as A,
    max(decode(col2,'b',col2)) as B,
    max(decode(col2,'c',col2)) as C
    from test
    group by col1
)GROUP BY A,B,C
  相关解决方案