序号 航班号 机型 起飞 降落 数据更新时间
1 CA1393 B737 广州 南京 2007-5-27 1:01
2 CA1393 B737 广州 南京 2007-5-27 1:26
3 CA1393 A319 广州 南京 2007-5-27 11:15
4 CA1393 A319 广州 南京 2007-5-27 11:20
5 CA1393 A319 广州 南京 2007-5-27 13:28
6 HU4953 B757 广州 北京 2007-5-27 11:15
7 HU4953 B757 广州 北京 2007-5-27 11:20
8 HU4953 B777 广州 北京 2007-5-27 13:28
9 HU4953 B777 广州 北京 2007-5-27 16:48如上数据,如何知道该航班的机型在半小时内是否发生变化?
要求是:
只显示最新数据给用户看,但是得红色提醒拥护机型发生过变化,如果在半个小时内
机型数据稳定,则不必提醒用户:
如现在是:2007-5-27 11:15
CA1393 A319 广州 南京 2007-5-27 11:15  红色显示
HU4953 B757 广州 北京 2007-5-27 11:15  正常显示
如现在是:2007-5-27 13:28
CA1393 A319 广州 南京 2007-5-27 13:28  正常显示
HU4953 B777 广州 北京 2007-5-27 13:48  红色显示

解决方案 »

  1.   

    row_number() over(partition by 机型order by 时间 desc) 序号 
    然后根据序号求时间差就可以了
      

  2.   

    用分析函数,lead lag和前一次的比较,如果时间差小于30,就可以了
      

  3.   

    上面的已经说了 用lag(数据更新时间,1,sysdate-1) over(order by 数据更新时间)取本纪录的上一条纪录
    lead(数据更新时间,1,sysdate) over(order by 数据更新时间)取本纪录的下一条纪录
    然后与本纪录的数据更新时间做比较,时间小于30分钟表示正常