咕噜咕噜502 2022-02-21 11:20 采纳率: 56.6%
浏览 49
已结题

mysql怎么查询两个时间段分别最近的一条数据

例如,开始时间:2022-02-20 9:00 结束时间:2022-02-21 11:00
第一条数据查询离 开始时间 最近的一条记录,开始时间往下最近一条。

第二条数据查询离 结束时间 最近的一条记录,结束时间往下最近的一条。

得到结果:分别最近的两条数据是 2022-02-20 8:30、2022-02-21 10:59

我找了一个解决办法

img


不知道还有什么地方可以优化的吗?

  • 写回答

4条回答 默认 最新

  • IT阿沈 2022-02-21 15:03
    关注

    表中的数据内容大概是什么样子的?

    例如,开始时间:2022-02-20 9:00 结束时间:2022-02-21 11:00
    这个时间是传入的条件吗?还是其他的表中的数据,需要关联的?
    如果只是找最近的时间的话,可以将子查询放入where 条件中,然后输出就可以了,如果是其他的情况的话,需要看一下具体的数据内容是什么样子了,如果需要继续探究的话,回复评论即可。

    select * from table_a 
    where time_col = 
           (select max(time_col ) from table_a 
            where time_col <= '2022-02-20 9:00')
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月26日
  • 修改了问题 2月23日
  • 修改了问题 2月21日
  • 创建了问题 2月21日

悬赏问题

  • ¥15 单纯型python实现编译报错
  • ¥15 c++2013读写oracle
  • ¥15 c++ gmssl sm2验签demo
  • ¥15 关于模的完全剩余系(关键词-数学方法)
  • ¥15 有没有人懂这个博图程序怎么写,还要跟SFB连接,真的不会,求帮助
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音