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

Loại bỏ các sự kiện chồng chéo một phần / hoàn toàn có dấu thời gian bắt đầu và kết thúc trên nhiều giá trị

Điều kiện tham gia:

Nếu bạn không thể tìm thấy bất kỳ hàng nào khác có nghĩa là bạn đang ở một mình vì không trùng lặp hoặc vì bạn là ngày muộn nhất.

SQL DEMO

SELECT a.*
FROM "events" a
LEFT JOIN "events" b
  ON a.room = b.room 
 AND a.id <> b.id
 AND a."start" <= b."end"
 AND a."end"   >= b."start"
 AND a.created_at < b.created_at
WHERE b.id IS NULL;

ĐẦU RA

| id |                start |                  end |                  created_at |  room |
|----|----------------------|----------------------|-----------------------------|-------|
|  2 | 2019-01-23T18:30:00Z | 2019-01-23T19:00:00Z | 2019-01-23T01:04:05.861876Z | Room1 |
|  7 | 2019-01-23T20:15:00Z | 2019-01-23T20:45:00Z |  2019-01-20T20:20:20.20202Z | Room1 |
|  9 | 2019-01-23T18:30:00Z | 2019-01-23T19:00:00Z | 2019-01-23T01:04:05.861877Z | Room2 |
| 14 | 2019-01-23T20:15:00Z | 2019-01-23T20:45:00Z |  2019-01-20T20:20:20.20202Z | Room2 |
| 16 | 2019-01-23T20:15:00Z | 2019-01-23T20:45:00Z | 2019-01-20T20:20:20.202021Z | Room3 |


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xoay vòng trên nhiều cột bằng cách sử dụng Tablefunc

  2. Nhóm kết nối sử dụng pg-Prom

  3. Tôi có thể đặt (trong dbase) giới hạn kích thước trên trường bytea trong PostgreSQL không?

  4. Nhiều cơ sở dữ liệu có đường ray không hoạt động cho cơ sở dữ liệu từ xa

  5. Tiện ích mở rộng ngôn ngữ JavaScript plv8 có thể gọi các thư viện của bên thứ ba không?