sql >> Base de Datos >  >> RDS >> PostgreSQL

Tiempo entre dos eventos

Puede utilizar la siguiente consulta:

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

El HAVING cláusula filtra user_id grupos que contienen solo un create acción, como registro con id=9 en el OP.

Demostración aquí