在一个 a 表中有字段 a1、 a2 、 a3 、a4 、a5, a1是编号(主键)、a2是名称、a3是状态 、a4是提问、a5回答
问题:怎么用一条sql语句查询出来下面表     编号           名称 提问总数      未回答提问(状态1) 已回答提问(状态2)
       1           张三    3         2                      1
       2           赵四    4         2                      2
       3           王五    5         5                      0
       4           李六    6         0                     6
在此跪谢

解决方案 »

  1.   

    select a1,a2,count(1),sum(case when a3=0 then 1 else 0 end),
    sum(case when a3=1 then 1 else 0 end)
    from tab
    group by a1,a2
      

  2.   

    行列转换的经典问题
    sum(decode())来做
    只是原始数据是怎么样的?
    状态是怎么样的
      

  3.   

    select a1,a2,count(1),sum(case when a3=0 then 1 else 0 end),
    sum(case when a3=1 then 1 else 0 end)
    from tab
    group by a1,a2  经典