我有以下結構:SQL:僅用於不同ID的值的總和 - 條件和?
包含typ1和typ2多個事件的日子,其中typ1和typ2具有外鍵到它們各自的日子。 Typ2也有持續時間。
現在我要計算所有typ1事件,所有typ2事件和typ2持續時間的總和。
實施例的數據:
天:
ID = 1 | Date = yesterday | ...
TYP1:
ID = 1 | FK_DAY = 1 | ...
ID = 2 | FK_DAY = 1 | ...
TYP2:
ID = 1 | FK_DAY = 1 | duration = 10
ID = 2 | FK_DAY = 1 | duration = 20
我現在想要的結果:
Day.ID = 1 | countTyp1 = 2 | countTyp2 = 2 | sumDurationTyp2 = 30
我的問題是總和,我需要像「總和爲不同typ2.ID」...有沒有人知道一種方法來解決這個問題?
我使用類似於以下,但這當然不工作的方式我想:
SELECT day.id,
count(DISTINCT typ1.id),
count(DISTINCT typ2.id),
sum(duration) AS duration
FROM days
LEFT JOIN typ
ON day.id = typ1.id
LEFT JOIN typ2
ON day.id = typ2.id
GROUP BY day.id;
什麼RDBMS和什麼版本? – Tobsey