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

mysql:10371

From: "Kageyama Takahiro" <"Kageyama Takahiro" <kageyama329@xxxxxxxxxx>>
Date: Mon, 01 Nov 2004 13:04:59 +0900
Subject: [mysql 10371] 複数のデータベースに対して、集計する方法

お世話になります、景山と申します。

現在使っているデータベースと、それを以前バックアップしたデータベースの
両方のある列のデータに対して、グループに集合を分け、各グループについて
集計するにはどのようにしたら良いのでしょうか?

片方のデータベースに対してのみの場合でしたら、

SELECT 列1, COUNT(列1) FROM DB1.TEST GROUP BY 列1;

+------+-------------+
| 列1 | COUNT(列1) |
+------+-------------+
| AAA  |         100 |
| BBB  |         100 |
+------+-------------+

SELECT 列1, COUNT(列1) FROM DB2.TEST GROUP BY 列1;

+------+-------------+
| 列1 | COUNT(列1) |
+------+-------------+
| AAA  |          20 |
| BBB  |          20 |
| CCC  |          20 |
+------+-------------+

とすればできますが、両方のデータベースに対して
1回で取得しようとすると、

SELECT 列1, COUNT(列1) FROM DB1.TEST GROUP BY 列1
UNION
SELECT 列1, COUNT(列1) FROM DB2.TEST GROUP BY 列1;

+------+-------------+
| 列1 | COUNT(列1) |
+------+-------------+
| AAA  |         100 |
| BBB  |         100 |
| AAA  |          20 |
| BBB  |          20 |
| CCC  |          20 |
+------+-------------+

となってしまいます。どうすれば、

+------+-------------+
| 列1 | COUNT(列1) |
+------+-------------+
| AAA  |         120 |
| BBB  |         120 |
| CCC  |          20 |
+------+-------------+

とすることが出来ますでしょうか?


ご存知の方がいらっしゃいましたら、ご教授願いますでしょうか。

_________________________________________________________________
楽しい絵文字でココロ伝わるメッセンジャー http://messenger.msn.co.jp/ 


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