PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Tempo entre dois eventos


Você pode usar a seguinte 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

O HAVING cláusula filtra user_id grupos contendo apenas um create ação, como gravar com id=9 no OP.

Demonstração aqui