ฉันมีตารางกิจกรรมนี้
+--------------+------------------+
| Field | Type |
+--------------+------------------+
| id | int(11) unsigned |
| start_date | timestamp |
| end_date | timestamp |
| ... | |
+--------------+------------------+
ฉันต้องการมุมมองว่ากิจกรรมเหล่านี้จัดกลุ่มตาม start_date ภายใน DAY แต่ในลักษณะที่หาก end_date ไม่ได้อยู่ในวันเดียวกันกับ start_date มุมมองจะมีรายการอีกครั้ง แต่โดยที่ start_date ตั้งค่าเป็น 00:00 ของวันถัดไป วัน.. (และอื่นๆ ทำซ้ำได้หลายครั้งตามต้องการ จนกระทั่ง start_date อยู่ในวันเดียวกับ end_date)
ตัวอย่างเช่น:
หากตารางกิจกรรมประกอบด้วย:
+--------------+----------------------------+----------------------------+
| id | start_date | end_date |
+--------------+----------------------------+----------------------------+
| 1 | 2014-12-02 14:12:00+00 | 2014-12-03 06:45:00+00 |
| 2 | 2014-12-05 15:25:00+00 | 2014-12-05 07:29:00+00 |
+--------------+----------------------------+----------------------------+
มุมมองควรมี:
+--------------+----------------------------+----------------------------+
| activity_id | start_date | end_date |
+--------------+----------------------------+----------------------------+
| 1 | 2014-12-02 14:12:00+00 | 2014-12-02 23:59:59+00 |
| 1 | 2014-12-03 00:00:00+00 | 2014-12-03 06:45:00+00 |
| 2 | 2014-12-05 15:25:00+00 | 2014-12-05 07:29:00+00 |
+--------------+----------------------------+----------------------------+
ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก!
PS: ฉันใช้ postgresql