当前位置:   article > 正文

mysql查询某个时间点之前的数据_mysql提取里某个时间点最近的数据?

mysql查找时间最接近的数据

来了来了,想到一个可能比较麻烦的方法,如果后面想到更简便的再更新,步骤如下:

一、找出原始表符合条件的记录

找出同一SUBJECT_ID、ITEM_ID下,B_TIME距离A_TIME最近的记录(并且A_TIME大于B__TIME),可以分为两步;

第一先找出符合条件的b_time,也就是在满足A_TIME大于B__TIME条件下找出最大的b_time,代码结果如下:

select subject_id,item_id,max(b_time) maxtime #求得最大的b_time,给别名maxtimefrom 原始表 where a_time>b_time #筛选a_time>b_time的记录group by subject_id,item_id; #用subject_id和item_id做分组

第二步是将上一步查询的表和原始表做内连接,连接条件是subject_id、item_id、maxtime相等,这样就找出符合留存需求的记录了,代码和结果如下:

select 原始表.* from 原始表

join (select subject_id,item_id,max(b_time) maxtime

from 原始表 where a_time>b_time

group by subject_id,item_id) as a

on 原始表.subject_id=a.subject_id and 原始表.item_id=a.item_id and 原始表.b_time=a.maxtime;

二、和D_ITEMD表进行比对

和D_ITEMD表中的ITEMID进行比对,

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/230756?site
推荐阅读
相关标签
  

闽ICP备14008679号