Google bigquery 在大查询中查找集合id组的第二个最大开始日期
我有一个数据如下的表格 我想要每个状态为C的集合的第二高开始日期。 例如 答案应该是 1 2015-05-01Google bigquery 在大查询中查找集合id组的第二个最大开始日期,google-bigquery,Google Bigquery,我有一个数据如下的表格 我想要每个状态为C的集合的第二高开始日期。 例如 答案应该是 1 2015-05-01 2 2015-05-01 3 2015-06-01 在bigquery中有更简单的方法吗?首先只筛选状态为“C”的记录,然后使用窗口函数按集合id和每个集合内的开始日期对数据进行分区。然后取第二个值 SELECT set_id, NTH_VALUE(start_date, 2) OVER(PARTITION BY set_id ORDER BY start_date DE
2 2015-05-01
3 2015-06-01
在bigquery中有更简单的方法吗?首先只筛选状态为“C”的记录,然后使用窗口函数按集合id和每个集合内的开始日期对数据进行分区。然后取第二个值
SELECT
set_id,
NTH_VALUE(start_date, 2) OVER(PARTITION BY set_id ORDER BY start_date DESC)
FROM table WHERE status = 'C'