pyspark 需要有关Databricks SQL查询的帮助

lvjbypge  于 2022-12-11  发布在  Spark
关注(0)|答案(1)|浏览(130)

你好!
我有一个包含order_number、start_date和staus列的数据集,如下所示。x1c 0d1x
从上表中,我需要一个输出作为单行,如下所示。

在输出中,我需要最近的状态和第一个开始日期。
有谁能帮我找到我应该遵循的方法吗?
请帮帮我。谢谢!
我尝试使用“密集排名”,但得到的是最近的开始日期值和旧的状态值。

x4shl7ld

x4shl7ld1#

您需要在同一个窗口中运行两个独立的函数,分别用于起始日期和状态:

SELECT distinct order_id,
                first(start_date) over (partition by order_id order by start_date
                                        rows between unbounded preceding and unbounded following) as start_date,
                last(status) over (partition by order_id order by start_date
                                   rows between unbounded preceding and unbounded following) as status
           FROM a_table;

相关问题