PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Tempo tra due eventi

Puoi utilizzare la seguente query:

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

Il HAVING la clausola filtra user_id gruppi contenenti solo una create azione, come registrare con id=9 nell'OP.

Dimostrazione qui