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

Tid mellem to begivenheder

Du kan bruge følgende forespørgsel:

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

HAVING klausul bortfiltrerer user_id grupper, der kun indeholder en create handling, som registrering med id=9 i OP.

Demo her




  1. MySQL-forespørgsel blev hængt og måtte dræbe processen

  2. mysql - søg mellem datoer, hvor alle datoer vises

  3. Generer automatisk Doctrine-Entity fra eksisterende tabel

  4. SQL Server PIVOT med flere X-akse kolonner