请教一个统计工作时段转换的问题

fatxinglee 2018-07-08 10:23:55
我现在有个工作量的报表是这样的

我已经有接诊日期、接诊时段、人次数这3个数据,我就想分类统计:上下午都开诊的算“全天”,只有上午或下午的算“半天”,其他时间接诊的都算其他。然后就统计“全天”、“半天”、“其他”的个数和人次。请问这个分类的语句怎么写法?先谢谢各位了。
我是用MS-SQL SERVER的.
...全文
70 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
RINK_1 2018-07-08
  • 打赏
  • 举报
回复

with cte
as
(SELECT 接诊日期,接诊时段,人次数,'全天' as 期望效果
from Table A
where 接诊时段 in ('上午','下午')
and exists (select 1 from Table where A.接诊日期=接诊日期 and A.接诊时段<>接诊时段 and 接诊时段 in ('上午','下午'))
union all
SELECT 接诊日期,接诊时段,人次数,'半天' as 期望效果
from Table A
where 接诊时段 in ('上午','下午')
and not exists (select 1 from Table where A.接诊日期=接诊日期 and A.接诊时段<>接诊时段 and 接诊时段 in ('上午','下午'))
SELECT 接诊日期,接诊时段,人次数,'其他' as 期望效果
from Table A
where 接诊时段 not in ('上午','下午'))

select 期望效果,SUM(人次数) as 人次数,COUNT(1) as 个数
from cte
group by 期望效果

fatxinglee 2018-07-08
  • 打赏
  • 举报
回复
十二万分感谢~~

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧