当前位置: 代码迷 >> Oracle开发 >> 100分完整SQL
  详细解决方案

100分完整SQL

热度:26   发布时间:2016-04-24 06:41:48.0
100分求一个完整SQL
假设表a有字段:假设表a:
姓名     开始时间      结束时间
a             2014-5-1     2014-5-2
a             2014-5-2     2014-5-3
a             2014-5-3     2014-5-4
a             2014-5-4     2014-5-5
b             2014-5-5     2014-5-6
b             2014-5-1     2014-5-7
b             2014-5-6     2014-5-8
a             2014-5-1     2014-5-2

我希望得到的数据为:
a   平均所用时间   总记录数
b   平均所用时间   总记录数
平均所用时间 (小时) = 结束时间 - 开始时间

我知道可能有点bt,希望有人能给个SQL或一个思路或其它的代替方案。因数据量问题,不适合逐条运算。
------解决方案--------------------
看不出来哪里BT。。。
不是个简单的分组统计吗?
平均所用时间:avg(结束时间-开始时间)*24
总记录数:count(1)
------解决方案--------------------
select t.a,avg((t.end_time-t.start_time)*24),count(t.a) from A t group by t.a;
  相关解决方案