如何选择第一个非空日期BigQuery

问题描述

我想选择第一个非空的日期时间,但不适用于使用

“ row_number()在partition()之上”

现在在我的代码中,我只排除了空行,现在只需要选择最低的日期。 Pls.help如何修复它:

left join (
          select deal,type,assigned_to_user,marked_as_done_time,first_value(marked_as_done_time ignore nulls) over (partition by deal
          order by marked_as_done_time asc ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) as first_value,from data_marts.pipedrive_activity
          where done = 'Done' 
          group by 1,2,3,4
          ) act on act.deal = d.id

解决方法

您可以尝试以下-

left join (
          select deal,type,assigned_to_user,marked_as_done_time,row_number() over (partition by deal
          order by marked_as_done_time) as first_value,from data_marts.pipedrive_activity
          where done = 'Done' and marked_as_done_time is not null
          group by 1,2,3,4
          ) act on act.deal = d.id where first_value=1