電子書籍の厳選無料作品が豊富!

このようなデータがあって
+--------------------+
|テーブル名 test_tbl |
+--------------------+
| reg_date |
+--------------------+
| 2005/12/1|
+--------------------+
| 2005/12/2|
+--------------------+
| 2005/12/2|
+--------------------+
| 2005/12/4|
+--------------------+
| 2005/12/5|
+--------------------+


それを下記のように出力したいです(正しくは月ごと)
┌────┬───┐
│date │count │
├────┼───┤
│12月1日 │1 │
├────┼───┤
│12月2日 │2 │
├────┼───┤
│12月3日 │0 │
├────┼───┤
│12月4日 │1 │
├────┼───┤
│12月5日 │1 │
├────┼───┤
│12月6日 │0 │
└────┴───┘

1日から31日までどのように表示させたらいいでしょうか?

よろしくお願いします。

A 回答 (2件)

こんな感じでは?



SELECT reg_date, Sum(count) FROM test_tbl GROUP BY reg_date

この回答への補足

ご回答ありがとうございます。

ただ、コレだとカウントが0件の日(reg_dateに登録されていない日)は表示されないので、
できれば12月1日~31日をズラッと表示したいのです。

補足日時:2005/12/13 14:59
    • good
    • 0

>できれば12月1日~31日をズラッと表示したい



12月1日~31日の日付データを格納した表を作り、
LEFT JOINして、ナル値なら0を返すようにすれば
希望通りにできると思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

やはり日付データを格納したテーブルを別途用意する必要があるんですね。。。

お礼日時:2005/12/14 16:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!