mysql:12903
From: 樋口聡 <樋口聡 <satoshi@xxxxxxxxxx>>
Date: Sun, 02 Apr 2006 17:35:22 +0900
Subject: [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@xxxxxxxxxx 0 20060301185634 2 abc2@xxxxxxxxxx 1 20060302120503 3 abc3@xxxxxxxxxx 0 20060302190945 4 abc4@xxxxxxxxxx 2 20060303080754 5 abc5@xxxxxxxxxx 0 20060303101234 6 abc6@xxxxxxxxxx 1 20060303112351 7 abc7@xxxxxxxxxx 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文で出力する方法はあるで しょうか? どなたかご存知でしたら、教えていただけると助かります。 --- 樋口 聡
-> 12903 2006-04-02 17:35 [樋口聡 <satoshi@xxxx] 集計データ取得のためのSQL文の記述方法 12905 2006-04-02 20:46 ┗[とみたまさひろ <tomm] 12906 2006-04-03 11:16 ┗[樋口聡 <satoshi@xxxx]