我有一个pyspark df排序的基础上,为每个组的日期如下-
现在,在这个框架中,我想创建一个新的日期差异列,它将给予每个组的两个连续日期之间的日期差异,如下所示-
我试过了-
我也试过这个-
两者都抛出了相同的错误,如下所示:
gajydyqb1#
如果将日期格式更改为yyyy-MM-dd,代码将按预期工作。检查下面的代码
yyyy-MM-dd
WITH source AS ( SELECT a, b, group_name, to_date(date,'MM/dd/yyyy') as date, order FROM VALUES (1, 4, 'GFG1', '08/01/2000', 1), (1, 4, 'GFG1', '10/01/2000', 2), (1, 4, 'GFG1', '12/01/2000', 3), (2, 8, 'GFG2', '06/02/2000', 1), (4, 5, 'GFG3', '05/03/2000', 1), (4, 5, 'GFG3', '12/03/2000', 2) AS (a, b, group_name, date, order) ) SELECT a, b, group_name, date, order, (DATE_DIFF(date, LAG(date, 1) OVER(PARTITION BY group_name ORDER BY date))) AS date_difference FROM source
1条答案
按热度按时间gajydyqb1#
如果将日期格式更改为
yyyy-MM-dd
,代码将按预期工作。检查下面的代码