人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

SQL集計関数で最終行or最初の行にフィールド毎に小計を出力することは可能ですか?

出力したいテーブルは SELECT name,count(*) FROM test GROUP BY name;
name | count
-------+-------
空海 | 4
鑑真 | 5
ガンジー | 1

これを、下記のように

name | count
-------+-------
3 | 10 ←この行を追加したい
空海 | 4
鑑真 | 5
ガンジー | 1

といった具合です。(表が崩れまくりですみません)
CGI側でSQLを2回発行すれば済む話ですが、SQL文が1回で済む方法はないでしょうか

●質問者: kamiochiai
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:CGI GROUP name SELECT SQL
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● WANT
●27ポイント

UNION句でつなげるのはダメでしょうか?

SELECT name,count

FROM test

UNION

SELECT name,count(*) FROM test GROUP BY name

実際に走らせたわけではありませんので、

間違っているかもしれません...

もし間違っていたらすみません。

(参考)

http://www.atmarkit.co.jp/fnetwork/rensai/sql09/sql1.html

◎質問者からの返答

ありがとうございます!


2 ● extralights
●27ポイント

http://www.atmarkit.co.jp/fnetwork/rensai/sql09/sql1.html


UNIONはだめですか?

ORACLE,SQL Serverは使えるようです。

そのほかは確認してません。

SELECT ?

UNION

SELECT ?

;

◎質問者からの返答

ありがとうございます!


3 ● yakato_jun
●27ポイント

http://127.0.0.1

↑ダミーです。

UNION ALLでまとめる事が出来ますよ。

SELECT

TO_CHAR(count(*)) AS name

, SUM(count) AS count

FROM

test

GROUP BY

name

UNION ALL

SELECT

name AS name

, count AS count

FROM

test

◎質問者からの返答

ありがとうございます!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ