PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Thời gian giữa hai sự kiện

Bạn có thể sử dụng truy vấn sau:

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 mệnh đề lọc ra user_id nhóm chỉ chứa một create hành động, chẳng hạn như bản ghi với id=9 trong OP.

Demo tại đây




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để bỏ qua SequelizeUniqueConstraintError trong Sequelize?

  2. Heroku pg:Khôi phục sao lưu không thành công do ứng dụng Rails hết thời gian chờ

  3. PG ::UndefinedObject:LỖI:loại hstore không tồn tại nhưng nó có

  4. Tác động hiệu suất của LIKE trống trong một tuyên bố đã chuẩn bị

  5. Câu lệnh INSERT tùy chọn trong chuỗi giao dịch sử dụng NodeJS và Postgres