2006年4月 2日

[mysql 12903] 集計データ取得のためのSQL文の記述方法

いつもお世話になってます。樋口と申します。

MySQLに蓄積された情報を集計しようとSQL文を書いていて、自分の希望する結果
を一つのSQL文で実現できなかったので、ご存知の方がいらっしゃいましたら教
えていただけませんか?

テーブル定義:
id int auto_increment

email varchar(128) -- メールアドレス
channel tinyint default 0 -- 応募経路
create_date timestamp default null -- 作成日時

蓄積されているデータ:
id email channel create_date
1 abc1@xxxxx 0 20060301185634
2 abc2@xxxxx 1 20060302120503
3 abc3@xxxxx 0 20060302190945
4 abc4@xxxxx 2 20060303080754
5 abc5@xxxxx 0 20060303101234
6 abc6@xxxxx 1 20060303112351
7 abc7@xxxxx 2 20060303121223
とします。
このとき集計データとして
DATE CHANNEL TOTAL
0 1 2
---------- ------ ------- ------- -------
20060301 1 0 0 1
20060302 1 1 0 2
20060303 1 1 2 4
と出力したいのです。

SELECT SUBSTRING(create_date,1,8) AS DATE,channel AS CHANNEL,count(*)
FROM test_tm6 GROUP BY DATE,CHANNEL;
としてみましたが、
DATE CHANNEL count(*)
20060301 0 1
20060302 0 1
20060302 1 1
20060303 0 1
20060303 1 1
20060303 2 2
となってしまいます。私の希望する結果を一つのSQL文で出力する方法はあるで
しょうか?

どなたかご存知でしたら、教えていただけると助かります。
---
樋口 聡


投稿者 xml-rpc : 2006年4月 2日 17:35
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/34327
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。