举个例子来提问吧。
有“表1”(每一行都是一条工作任务):姓名  任务状态 张三    完成
李四   处理中
张三   处理中
王五   处理中
李四   处理中假设表1“任务状态”中“完成”与“处理中”都算入“工作总量”,需要统计三人的工作量如下(先统计出工作总量,然后按“完成”及“处理中”分类统计),如何写查询语句实现效果
查询结果:姓名 工作总量 完成 处理中张三    2      1     1
李四    2      0     2
王五    1      0     1

解决方案 »

  1.   

    select 姓名,
    count(*) as 工作总量,
    sum(case when 任务状态='完成' then 1 else 0 end) as 完成,
    sum(case when 任务状态='处理中' then 1 else 0 end) as 处理中
    from 表1
    group by 姓名
      

  2.   

    #1楼的方法可行,多谢赐教。
    不过自己想展开一些,就前面的问题,如果表1中的“任务状态”是连接到表2的,SQL语句如何改写。亦就是
    表1
    姓名 任务状态  张三 2
    李四 1
    张三 1
    王五 1
    李四 1表2
    编号 状态
    1   处理中
    2    完成