lag()/lead()的使用

lag()/lead():获取当前记录指定距离的记录信息
lag():往前推
lead():往后推

--时间更加精确,确保唯一性--
select supplier_id from (
select v1.supplier_id,
        lag(v1.LAST_UPDATE_DATE) over(order by v1.LAST_UPDATE_DATE desc,v1.SUPPLIER_ID) maxdate
   from BAS_SUPPLIER_V v1
   where  v1.ENTITY_ID = '1330')
   where maxdate is null;
  
  
  --时间不够精确,不能保证唯一性--
  select supplier_id
     from BAS_SUPPLIER_V
    where LAST_UPDATE_DATE = (select max(LAST_UPDATE_DATE)
                                from BAS_SUPPLIER_V v
                               where ENTITY_ID = '1330')

注:lag(v1.LAST_UPDATE_DATE) = lag(v1.LAST_UPDATE_DATE,1)
    其中第二个参数默认为1

你可能感兴趣的:(lag)