[前][次][番号順一覧][スレッド一覧]

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]