こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

MySQL: 複数テーブルのcount

複数テーブルの総行数(count値)を取得したいのですが、下記だとテーブルA,B,Cの結果が
バラバラに出力されてしまいます。

【入力条件】
mysql> select COUNT(*) AS 列ID from テーブルA
     union all
     select COUNT(*) AS 列ID from テーブルB
     union all
     select COUNT(*) AS 列ID from テーブルC;
【出力結果】
      +-----+
      | 列_ID |
      +-----+
      |  1  | ←テーブルAの合計:行数
      |  2  | ←テーブルBの合計:行数
      |  3  | ←テーブルCの合計:行数
      +-----+

総行数:6を一発で取得するには、どのようにしたらよろしいのでしょうか?
大変恐縮ですが、ご教授よろしくお願いいたいます。
<<MySQLのverは5,5です。

投稿日時 - 2012-01-31 16:29:12

QNo.7277435

困ってます

質問者が選んだベストアンサー

こんな感じでしょうか?

select (select count(*) from テーブルA)+(select count(*) from テーブルB)+(select count(*) from テーブルC) AS 列ID

投稿日時 - 2012-01-31 16:44:43

お礼

早々の回答ありがとうございます。
とてもシンプルな内容だったんですね!

助かりました。

投稿日時 - 2012-01-31 16:58:29

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

前に
SELECT SUM(列ID) FROM (
後に
)AS T
を付加しても出来ます。

投稿日時 - 2012-01-31 16:55:13

お礼

回答ありがとうございます。
SUM関数を使うやり方をいろいろ調べておりましたが
結局わからずじまいで質問させていただきました。

こんなに簡単な方法だったとは・・・
勉強になりました。

投稿日時 - 2012-01-31 17:06:29