oracle数据库中,将同一个人出行的时间间隔(天数)计算出来并更新时间间隔字段内容,出行日期都是排序好的,不用考虑排序问题,但是出行日期可能会有重复,该表还存在其他字段每行记录不重复
思路:先查询表中根据姓名和出行日期进行排序然后按照姓名和出行日期的顺序给表虚拟一个序列,比如张三 1 2 3 4 5 李四 1 2 3 4 ,使用语句如下:
select x.lev, x.姓名, to_char(出行日期, 'yyyy-mm-dd') 出行日期接下来就是查询这个表数据,然后再查询相同的人的上一个序号的数据,比如当前一条数据是姓名:张三,序号:3的数据,那么我们就需要查询张三、序号2的数据然后时间相减即可。
注意:数据表中出行日期字段是date类型的数据
为了更多有此需求的同学看到想要的答案:
create table agile_test(因为select计算用到开窗函数所以不能直接update需要LOOP或子查询处理。