0
SELECT
EXTRACT( DAY FROM date) AS day,
EXTRACT( MONTH FROM date) AS month, who, sum ( wsd ) AS total FROM weekly
WHERE season = '08'
AND status = 1
AND who = 'NAME SURNAME'
GROUP BY day, month


day month who           total
12  8     NAME SURNAME  18

1 日あたりの「who」列のすべての人の「wsd」列の合計を取得しています。1 人の人物が 1 日のテーブルにレコードを持っていない場合、その名前は期待どおりに結果に表示されません。

しかし、日付と名前の合計列が「0」のレコードも見たいです。

どうすればmysqlだけでそれを行うことができますか?

4

2 に答える 2

0

この場合、where毎日誰かのデータがあると仮定して、条件付きロジックを から集計に移動できます。

SELECT EXTRACT( DAY FROM date) AS day, EXTRACT( MONTH FROM date) AS month, who,
       sum(case when status = 1 AND who = 'NAME SURNAME' then wsd else 0 end) AS total
FROM weekly
WHERE season = '08'
GROUP BY day, month;
于 2013-08-13T11:03:38.603 に答える