我正在尝试使用以下查询提供最近的日期:
select id, amount, yearmonthday
from (
select
id,
amount,
yearmonthday,
row_number() OVER (PARTITION BY id ORDER BY try(date_parse(yearmonthday, '%Y-%m-%d'))) as row_num
from "db_raw"."table" ) ranked
where row_num = 1 and id = 1
但是每次我运行查询时,都会给我带来不同的结果,而不是最后一个日期
首先,您需要按降序排序以获得最近的日期:
row_number() OVER (PARTITION BY id
ORDER BY try(date_parse(yearmonthday, '%Y-%m-%d')) desc) as row_num
默认排序顺序为升序。