zhb_DD 2012-02-15 13:39
浏览 337
已采纳

oracle 一组数据求和

数据表中有8条数据,每条都包含一个时间类型的数据,要求这8个时间排序后两两相减再求和,
sum((时间2-时间1) + ((时间4-时间3) + ((时间6-时间5) + ((时间8-时间7)),可否一个sql求出结果?

  • 写回答

3条回答 默认 最新

  • ll89308839 2012-02-28 19:02
    关注

    [code="sql"]
    with temp as (
    select to_date('2012-02-03 10:51:00','yyyy-MM-dd hh24:mi:ss') as time from dual
    union
    select to_date('2012-02-03 10:56:00','yyyy-MM-dd hh24:mi:ss') as time from dual
    union
    select to_date('2012-02-03 11:23:00','yyyy-MM-dd hh24:mi:ss') as time from dual
    union
    select to_date('2012-02-03 12:51:00','yyyy-MM-dd hh24:mi:ss') as time from dual
    union
    select to_date('2012-02-03 14:51:00','yyyy-MM-dd hh24:mi:ss') as time from dual
    union
    select to_date('2012-02-03 16:51:00','yyyy-MM-dd hh24:mi:ss') as time from dual
    )
    select sum(power(-1,rownum)*(time-sysdate)*24*60*60) from (select * from temp order by time) a
    [/code]
    这你都还不明白!
    把-1的一次方、二次方、三次方、n次方算出来
    再乘以记录的时间time-sysdate,这里用sysdate是为了简单,用什么都一样(当然你的行数必须是偶数)
    这里的结果累加就是一共相差的秒数

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 Pwm双极模式H桥驱动控制电机
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题