我正在嘗試撰寫一個查詢,我只想獲取最大值(日期),并且我必須按其他資訊分組,例如 job_ID、invoice、total_paid 和 payment_method。
我不能按付款方式分組,因為從邏輯上講它不正確,也因為付款方式不同......而且,我不能在這里使用 listagg。
知道如何實作我的目標嗎?我幾乎到了最后,但付款方式導致代碼中出現了一些錯誤...
先感謝您 :)
uj5u.com熱心網友回復:
您可以獲取date任何id具有最大值的行qualify row_number() over():
with data as (
select $1 id, $2 date, $3 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
;

如果這不是您想要的 - 您將需要通過詳細說明示例輸入資料和所需結果來改進問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/383195.html
