異なる条件でcountしたい
使用しているのはMySQL5.5です。
以下のようなデータベース(→元データベース)があり、プロジェクト毎の作業時間と作業日数を出すために
select プロジェクト, count(*), sum(時間)
order by プロジェクト;
としたところ、同一日の作業が二重にカウントされて、正確な作業日数が計算できません。
→誤った集計結果1
また、
select プロジェクト, count(*), sum(時間)
order by プロジェクト, 作業;
とすると、今度はプロジェクト単位で作業時間が計算できませんでした。
→誤った集計結果2
これを、同一日はカウントせず、作業日数と作業時間を集計するには
どのようにすればいいでしょうか。
・元データベース
日付|プロジェクト|作業|時間
2015-10-01|A|DB作成|2
2015-10-01|A|データ入力|1
2015-10-01|B|DB作成|3
2015-10-02|A|データ入力|1
2015-10-02|B|DB作成|4
2015-10-02|B|データ入力|2
・誤った集計結果1
プロジェクト|作業日数|時間
A|3|4
B|3|9
・誤った集計結果2
プロジェクト|作業日数|時間
A|1|2(DB作成のrow)
A|2|2(データ入力のrow)
B|2|7(DB作成のrow)
B|1|2(データ入力のrow)
・理想の集計結果
A|2|4
B|2|9