PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Zeit zwischen zwei Ereignissen

Sie können die folgende Abfrage verwenden:

SELECT user_id,
       MAX(CASE WHEN action = 'clear' THEN created_at END) -
       MAX(CASE WHEN action = 'create' THEN created_at END) AS time_diff 
FROM mytable
GROUP BY user_id 
HAVING COUNT(*) = 2

Das HAVING -Klausel filtert user_id heraus Gruppen, die nur einen create enthalten Aktion, wie Datensatz mit id=9 im OP.

Demo hier