sql >> Databasteknik >  >> RDS >> PostgreSQL

Tid mellan två händelser

Du kan använda följande fråga:

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 filtrerar bort user_id grupper som bara innehåller en create åtgärd, som spela in med id=9 i OP.

Demo här




  1. Kan jag få en unik TIMESTAMP för varje post i MySQL

  2. När ska man överväga Solr

  3. Varför ger Delphi (Zeos) mig widestring-fält i SQLite när jag ber om osignerad big int?

  4. Ändra datainsamling eller ändringsspårning - Samma som traditionell revisionsspårtabell?