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/