PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Czas między dwoma wydarzeniami

Możesz użyć następującego zapytania:

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 klauzula odfiltrowuje user_id grupy zawierające tylko create akcja, np. rekord z id=9 w PO.

Pokaz tutaj




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Funkcja GREATEST() w PostgreSQL

  2. Zapytanie SQL, aby uzyskać najnowszy wiersz dla każdego wystąpienia danego klucza

  3. Pominięcie podwójnego cudzysłowu w celu wykonania zapytania w PostgreSQL

  4. PostgreSQL:Jak zdobyć wszystkie punkty w określonym promieniu

  5. grupowanie co N wartości