一个统计报表的写法,请大家指教

zhyl1979 2005-07-11 04:02:20
表A(用户id,月份,使用金额)记录着所有用户的使用话费情况
表B(用户id,月份,欠费金额)记录着所有欠费的用户欠费情况
表C(用户id,部门id)记录着用户的基本情况
现在我需要按部门统计,每个部门的部门id,使用话费的人数,欠话费的人数,欠费金额
请大家帮帮我
...全文
88 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
eagle81 2005-07-12
  • 打赏
  • 举报
回复
SELECT
c.部门,
COUNT(DISTINCT (CASE WHEN a.使用金额>0 THEN c.用户id ELSE null END)) 消费人数,
COUNT(DISTINCT (CASE WHEN b.欠费金额>0 THEN c.用户id ELSE null END)) 欠费人数
FROM 表C c
LEFT JOIN 表A a ON c.用户id=a.用户id
LEFT JOIN 表B b ON c.用户id=b.用户id
GROUP BY c.部门
------------------
估计会多一个
你在用一次case when 把null 去掉估计就差不多了

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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