我有兩個表,第一個表有列:id、start_time 和 end_time。第二個表有列:id、timestamp、value。有沒有辦法根據表1中的條件對表2求和?
表格1:
| ID | 開始日期 | 結束日期 |
|---|---|---|
| 5 | 2000-01-01 01:00:00 | 2000-01-05 02:45:00 |
| 5 | 2000-01-10 01:00:00 | 2000-01-15 02:45:00 |
| 6 | 2000-01-01 01:00:00 | 2000-01-05 02:45:00 |
| 6 | 2000-01-11 01:00:00 | 2000-01-12 02:45:00 |
| 6 | 2000-01-15 01:00:00 | 2000-01-20 02:45:00 |
表 2:
| ID | 時間戳 | 價值 |
|---|---|---|
| 5 | 2000-01-01 05:00:00 | 1 |
| 5 | 2000-01-01 06:00:00 | 2 |
| 6 | 2000-01-01 05:00:00 | 1 |
| 6 | 2000-01-11 05:00:00 | 2 |
| 6 | 2000-01-15 05:00:00 | 2 |
| 6 | 2000-01-15 05:30:00 | 2 |
期望的結果:
| ID | 開始日期 | 結束日期 | 和 |
|---|---|---|---|
| 5 | 2000-01-01 01:00:00 | 2000-01-05 02:45:00 | 3 |
| 5 | 2000-01-10 01:00:00 | 2000-01-15 02:45:00 | 空值 |
| 6 | 2000-01-01 01:00:00 | 2000-01-05 02:45:00 | 1 |
| 6 | 2000-01-11 01:00:00 | 2000-01-12 02:45:00 | 2 |
| 6 | 2000-01-15 01:00:00 | 2000-01-20 02:45:00 | 4 |
uj5u.com熱心網友回復:
試試這個 :
SELECT a.id, a.start_date, a.end_date, sum(b.value) AS sum
FROM table1 AS a
LEFT JOIN table2 AS b
ON b.id = a.id
AND b.timestamp >= a.start_date
AND b.timestamp < a.end_date
GROUP BY a.id, a.start_date, a.end_date
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/410428.html
標籤:
