私は以下の構造を持っています:SQL:値の合計ですが、異なるIDのみです - 条件付き合計?
typ1とtyp2の複数のイベントを持つ日です。ここで、typ1とtyp2はそれぞれの日に外部キーを持っています。 Typ2にも継続時間があります。
ここでは、すべてのタイプ1イベント、すべてのタイプ2イベント、およびタイプ2期間の合計をカウントしたいとします。
例データ:
日:
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
私は今、結果をしたい:
私の問題は「私は別個の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