Ich habe eine Tabelle mit person_id
, timestamp
und name
. Ich versuche, eine Abfrage zu schreiben, um den ersten Zeitstempel für eine Person an einem bestimmten Datum (in einer bestimmten Zeitzone) zu erhalten. Natürlich habe ich FIRST_VALUE und Partitionierung über den Tag versucht, aber nicht sicher, warum es nicht funktioniert.Erster Zeitstempel über eine Fensterfunktion erhalten
SELECT first_value("timestamp") OVER w,
date_trunc('day', "timestamp" AT TIME ZONE 'US/Central')
FROM analytics_analyticsevent as ae
WHERE person_id=3
GROUP BY date_trunc('day', "timestamp" AT TIME ZONE 'US/Central')
WINDOW w as (PARTITION BY date_trunc('day', "timestamp" AT TIME ZONE 'US/Central'))
Was mich den Fehler gibt:
ERROR: column "ae.timestamp" must appear in the GROUP BY clause or be used in an aggregate function
LINE 2: SELECT first_value("timestamp") OVER w,
^
Irgendwelche Ideen?
Sie FIRST_VALUE hinzufügen müssen ("Zeitstempel") in der Gruppe von –