我有兩張表:「debt_period」和「payments」。我需要從他們那裏看一看。有一個時期可以是幾次支付的情況。因此,在這種情況下,我必須將付款金額彙總在一列中,並在另一列中列出逗號分隔的日期。 我使用string_agg(to_char(p.payment_date,'DD.MM.YYYY')和窗口函數。 這工作正常。問題是字符串中的日期不是按時間順序排列的。我如何訂購它們?如何在「string_agg」中爲窗口函數(postgresql)排序字符串?
CREATE MATERIALIZED VIEW base.v_period_payments AS
SELECT DISTINCT
dp.card_id,
dp.year,
dp.month,
dp.debt_amount,
string_agg(to_char(p.payment_date, 'DD.MM.YYYY'), ', ') OVER (PARTITION BY p.period_id) AS
pay_dates
FROM base.debt_period dp
LEFT JOIN base.payments p on (p.period_id = dp.id)
WHERE dp.card_id = '№001137'
ORDER BY dp.card_id
@a_horse_with_no_name有一個錯誤:[0A000]錯誤:總ORDER BY不是爲窗口函數實現 –