华华坠落了 2022-03-10 15:37 采纳率: 55.6%
浏览 33
已结题

关于sql解决递归时间查询的问题,开关机时间处理

问题遇到的现象和发生背景

有一组工位,它们分别有自己的开关机时间。同一天内可能开关机多次
(1) 只开关机一次的情况
1、StartTime 8 00 endtime (如果只关机了一次,就取当前时间)

(2)存在两次开关机
1、StartTime 8 00 endtime 10 00(开机多次,第一条结束时间是下次开机时间)
2、StartTime 10 00 endtime (当前时间)

(3)存在多次开关机的情况
1、StartTime 8 00 endtime 10 00(开机多次,第一条结束时间是下次开机时间)
2、StartTime 10 00 endtime 11 00
3、StartTime 11 00 endtime (当前时间)

以此类推

ID Opentime Closetime
1 8 00 10 00
2 10 00 11 00
3 11 00

注 ID为自增列,时间越大,ID 越大

  • 写回答

2条回答 默认 最新

  • 三千烦恼丝xzh 2022-03-10 16:32
    关注

    你没描述你的需求,我猜你是想计算出第三列closetime,可以使用窗口函数lag()取分区内上一条记录的opentime,该函数接受一个默认值如果为空则取默认当前时间

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

报告相同问题?

问题事件

  • 系统已结题 6月17日
  • 已采纳回答 6月9日
  • 创建了问题 3月10日

悬赏问题

  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 Macbookpro 连接热点正常上网,连接不了Wi-Fi。
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题