如何获取最新值?
How to get the latest value?
我正在尝试编写一个查询,我只想获取最大(日期),我必须按 job_ID、发票、total_paid 等其他信息进行分组和 payment_method.
我无法按付款方式分组,因为这在逻辑上不正确,也因为付款方式不同...而且,我不能在此处使用 listagg。
知道如何实现我的目标吗?
我快要结束了,但是付款方式导致代码出现一些错误...
提前谢谢你:)
对于任何具有 qualify row_number() over()
的 id
,您可以获得最大 date
的行:
with data as (
select id, date, value
from values (1, 1, 'a')
, (1, 2, 'b')
, (1, 3, 'c')
, (2, 1, 'e')
, (2, 2, 'f')
, (2, 3, 'g')
)
select *
from data
qualify row_number() over(partition by id order by date desc) = 1
;
如果这不是您想要的——您将需要通过详细说明示例输入数据和所需结果来改进问题。
我正在尝试编写一个查询,我只想获取最大(日期),我必须按 job_ID、发票、total_paid 等其他信息进行分组和 payment_method.
我无法按付款方式分组,因为这在逻辑上不正确,也因为付款方式不同...而且,我不能在此处使用 listagg。
知道如何实现我的目标吗? 我快要结束了,但是付款方式导致代码出现一些错误...
提前谢谢你:)
对于任何具有 qualify row_number() over()
的 id
,您可以获得最大 date
的行:
with data as (
select id, date, value
from values (1, 1, 'a')
, (1, 2, 'b')
, (1, 3, 'c')
, (2, 1, 'e')
, (2, 2, 'f')
, (2, 3, 'g')
)
select *
from data
qualify row_number() over(partition by id order by date desc) = 1
;
如果这不是您想要的——您将需要通过详细说明示例输入数据和所需结果来改进问题。