此生遇到 最难的一句sql语句

本文深入探讨了一个复杂的SQL语句,它使用了内连接、右连接、左连接等操作,对用户行为数据进行了多维度的聚合与判断。包括计算总日志次数、不同类型日志的数量、业务类型、评价等级等关键指标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此生写的第一个比较有难度sql 语句

 

 

select acm.name username,
       count(worklog.logtypeid) totallog,
       sum(case when logtypeid = 'ec229560-f915-449d-ae35-3f60903c9197' then 1 else 0 end) type1,
       sum(case when logtypeid = '5bfa76f4-c677-4b4f-825b-783ec88bce79' then 1 else 0 end) type2,
       sum(case when logtypeid = 'e6f2edf8-a737-41c2-b478-21f60498584d' then 1 else 0 end) type3,
       sum(case when logtypeid = '75782b36-e415-4fe9-ad3b-82a17235e475' then 1 else 0 end) type4,
       sum(case when businesstypeid = '63f61fc0-cc19-4036-b19c-57be635887da' then 1 else 0 end) overtime,
       sum(case when evaluate = '优秀' then 1 else 0 end) exccelent,
       sum(case when evaluate = '良好' then 1 else 0 end) good,
       sum(case when evaluate = '合格' then 1 else 0 end) pass,
       sum(case when evaluate = '不合格' then 1 else 0 end) nopass
  from acm_user acm
 inner join acm_department dept
    on acm.dept_id = dept.id
 right join itil_worklog worklog
        on worklog.creator = acm.id
 inner join itil_logaudit_relation logaudit
       on worklog.id = logaudit.logid 
 left join ( select
       logid,
       case when avg(decode(evaluate,'优秀',100,'良好',80,'合格',60,'不合格',40)) > 85 then '优秀'
            when avg(decode(evaluate,'优秀',100,'良好',80,'合格',60,'不合格',40)) between 71 and 85 then '良好'
            when avg(decode(evaluate,'优秀',100,'良好',80,'合格',60,'不合格',40)) between 56 and 71 then '合格'
            else '不合格' end evaluate
  from itil_logaudit_relation
 group by logid ) log_eva
       on logaudit.logid = log_eva.logid 
       where worklog.createtime >= to_date('2012-3-28 16:56:47','yyyy-mm-dd hh24:mi:ss') 
       and worklog.createtime < to_date('2012-7-10 16:56:47','yyyy-mm-dd hh24:mi:ss') and dept.id = 'e57984e5-f2f0-4a2d-8ba0-185770a81f1e' 
       group by acm.name 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值