Ich arbeite an Abfrage, um kumulative Anzahl der UIDs auf täglicher Basis zu erhalten.Kumulative eindeutige Zählung
Beispiel: Angenommen, es sind 2 uids (100,200) am Datum 2016-11-01 erschienen und sie erschienen auch am nächsten Tag mit neuer uid 300 (100,200,300) am 2016-11-02 An dieser Stelle möchte ich kumulativ speichern zählen Sie als 3 nicht 5 als (Benutzer-ID 100 und 200 bereits am vergangenen Tag angezeigt).
Input table:
date uid
2016-11-01 100
2016-11-01 200
2016-11-01 300
2016-11-01 400
2016-11-02 100
2016-11-02 200
2016-11-03 300
2016-11-03 400
2016-11-03 500
2016-11-03 600
2016-11-04 700
Expected query result:
date daily_cumulative_count
2016-11-01 4
2016-11-02 4
2016-11-03 6
2016-11-04 7
Bis jetzt bin ich in der Lage, kumulative deutliche Anzahl pro Tag zu bekommen, aber es enthält vorherige eindeutige Uids vom vorherigen Tag.
SELECT
date,
SUM(count) OVER (
ORDER BY date ASC
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
)
FROM (
SELECT
date,
COUNT(DISTINCT uid) AS count
FROM sample_table
GROUP by 1
)ORDER BY date DESC;
Jede Art von Hilfe würde sehr geschätzt werden.