Count Distinct mit PostgreSQL
Bin ich versucht zu ändern, der count DISTINCT-Teil der Abfrage unten, da der aktuelle Abfrage-FENSTER-definition wird nicht unterstützt. Was ist am nahtlosen Weg, dies zu tun calc mit PostgreSQL? Danke.
SELECT transaction_date, brand, Description, Amount, newval
into temp.table
FROM (SELECT transaction_date, brand, Description, Amount,
(Amount / count(DISTINCT unique_mem_id) over (partition by to_char(transaction_date, 'YYYY-MM'),brand
)) as newval
FROM source.table
)
WHERE DESCRIPTION iLIKE '%Criteria%';
- können Sie Probe-Eingang und-Ausgang
- Ich bin wirklich versucht zu Fragen wie das führen eines Count Distinct-Berechnung mit PostgreSQL.
partition by to_char(transaction_date, 'YYYY-MM')
Sie nicht brauchen, um zu konvertieren char hier, nur mit date_trunc:partition by date_trunc('month', transaction_date)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aufgrund der use-case, es scheint, besser, split der code.
Erstellen Sie eine Tabelle month_brand auf der Grundlage der folgenden Abfrage:
Join month_brand mit deiner Quelle Tabelle:
Statt
count(distinct ...)
, 2-Phasen-Lösung: