举个例子来提问吧。
有“表1”(每一行都是一条工作任务):姓名 任务状态 张三 完成
李四 处理中
张三 处理中
王五 处理中
李四 处理中假设表1“任务状态”中“完成”与“处理中”都算入“工作总量”,需要统计三人的工作量如下(先统计出工作总量,然后按“完成”及“处理中”分类统计),如何写查询语句实现效果
查询结果:姓名 工作总量 完成 处理中张三 2 1 1
李四 2 0 2
王五 1 0 1
有“表1”(每一行都是一条工作任务):姓名 任务状态 张三 完成
李四 处理中
张三 处理中
王五 处理中
李四 处理中假设表1“任务状态”中“完成”与“处理中”都算入“工作总量”,需要统计三人的工作量如下(先统计出工作总量,然后按“完成”及“处理中”分类统计),如何写查询语句实现效果
查询结果:姓名 工作总量 完成 处理中张三 2 1 1
李四 2 0 2
王五 1 0 1
count(*) as 工作总量,
sum(case when 任务状态='完成' then 1 else 0 end) as 完成,
sum(case when 任务状态='处理中' then 1 else 0 end) as 处理中
from 表1
group by 姓名
不过自己想展开一些,就前面的问题,如果表1中的“任务状态”是连接到表2的,SQL语句如何改写。亦就是
表1
姓名 任务状态 张三 2
李四 1
张三 1
王五 1
李四 1表2
编号 状态
1 处理中
2 完成