首页 > 解决方案 > 如何从 select 语句的上一个条目/行中检索数据?

问题描述

如何从 select 语句的上一个条目/行中检索数据?

这是一些数据: 在此处输入图像描述

我想根据 facID 检索每一行的 facID、read_date 和上一个日期。

在此处输入图像描述

我认为使用窗口函数可以在这里提供帮助,如下面的代码:

select factory_id,read_date from (
    select factory_id,read_date,
    rank() over (partition by factory_id order by read_date) as RN
    from Table order by factory_id,read_date
) a 

但不确定如何编写代码来检索上一个日期。先感谢您

标签: sqlselectgroup-bygoogle-bigquerywindow-functions

解决方案


使用滞后

select 
  factory_id,
  read_date,
  lag(read_date) over (partition by factory_id order by read_date) as last_read_date
from Table
order by factory_id,read_date

推荐阅读