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

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 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥30 用arduino开发esp32控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿