这个sql如何写?


  

做一些简化,要求得到以下信息
部门名   员工名  案件类型   案件数(每种类型)  平均作业时间(总和(结束时间-开始时间)/案件数)  总案件数(每个员工的案件数)

要求用一个sql语句完成
最好能有比较好的查询效率

 

问题补充:
to 1 楼,谢谢你的答案,你的写法有几个问题
平均作业时间(总和(结束时间-开始时间)/案件数)
这里的案件数是指一个员工的一种case_type的数目
总案件数(每个员工的案件数)COUNT(cm.case_id),和COUNT(cm.case_type)得到的数值是相等的,我希望得到的是比如员工A有case a 2件,case b 2件,那员工A的总案件是4
问题补充:
to zhanjia,谢谢你的回答,不过时间什么类型不用关心,你只要在自己数据库运行起来就可以了,关键要完成怎么实现的逻辑。
经过测试,还发现了当where 加上case.case_id=transaction.case_id时,如果transaction多条记录对应一个case.case_id时,COUNT(cm.case_type)就会不正确(多了),请教解决
问题补充:
谢谢5楼的,我要的需求都写在上面了,出现的问题也写在上面了,你的sql不能满足条件,拜托大家把sql发上来前,先做测试下,否则凭空写不会发现问题,我感觉可能会要写sub query,谢谢大家,继续求教
问题补充:
to 6 楼,谢谢你,不过你有测试过吗,我测试了一下一点都不对
还是把需求讲一下吧,要求得到以下


因为使用了group by,所以影响到了取到的值,可能要写sub query
希望大家发表答案不要凭空写,这样会有很多问题你没发现,先测试下,谢谢了
}

我要回帖

更多关于 sql如果那么怎么写 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信