Freshboya 2022-01-27 19:00 采纳率: 0%
浏览 19

夹子拿出与放入都会记录一条数据,现在将数据进行合并

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

每一个设备都有N个夹子,夹子可以拿出与放回,每一次拿出与放回都会新增一条数据,现在要将数据合并,得出使用的时长。

问题相关代码,请勿粘贴截图

img

img

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

1条回答 默认 最新

  • DarkAthena ORACLE应用及数据库设计方案咨询师 2022-01-27 20:11
    关注

    这里主要的问题是需要一个序号,以便能每2行一组进行合并,如果是mysql8.0版本,则可以用下面的方式

    ---测试数据
    create table test_clip_tmp0
    (device_mac varchar(30),
    clip_id varchar(50),
    action_status tinyint,
    storage_datetime datetime,
    take_datetime datetime);
    insert into test_clip_tmp0 values('A','A1',1,'2022-01-27 10:00:00',null);
    insert into test_clip_tmp0 values('A','A1',0,null,'2022-01-27 10:00:03');
    insert into test_clip_tmp0 values('A','A2',1,'2022-01-27 15:00:00',null);
    insert into test_clip_tmp0 values('A','A2',0,null,'2022-01-27 15:00:03');
    insert into test_clip_tmp0 values('B','A1',1,'2022-01-27 10:00:01',null);
    insert into test_clip_tmp0 values('B','A1',0,null,'2022-01-27 10:00:02');
    
    --查询sql
    select device_mac,clip_id,g,max(storage_datetime) storage_datetime,max(take_datetime) take_datetime from (
    SELECT T.*,cast((ROW_NUMBER() OVER(order by device_mac,clip_id,IFNULL(storage_datetime,take_datetime)))/2 as int) g 
    FROM test_clip_tmp0 T ORDER BY device_mac,clip_id,IFNULL(storage_datetime,take_datetime)) as tt
    group by device_mac,clip_id,g
    

    img


    两个时间都在一行上了,你就可以去进行计算了

    评论

报告相同问题?

问题事件

  • 创建了问题 1月27日

悬赏问题

  • ¥15 模电中二极管,三极管和电容的应用
  • ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
  • ¥15 气象网格数据与卫星轨道数据如何匹配
  • ¥100 java ee ssm项目 悬赏,感兴趣直接联系我
  • ¥15 微软账户问题不小心注销了好像
  • ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
  • ¥20 关于web前端如何播放二次加密m3u8视频的问题
  • ¥15 使用百度地图api 位置函数报错?
  • ¥15 metamask如何添加TRON自定义网络