みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

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

解決済みの質問

sum()の出力結果順に並び替えをするSQL文

皆さん、こんばんは。

mysql 3.23.49-8.13 を使用しています。

mysql> select name,team_name,sum(point),count(*),max(size),min(size) from data where kind = 'hoge' group by name;
とした時、

+------+---------+----------+--------+---------+---------+
| name |team_name|sum(point)|count(*)|max(size)|min(size)|
+------+---------+----------+--------+---------+---------+
| hro | | 25 | 2 | 46 | 42 |
| hro2 |Project-F| 15 | 1 | 47 | 47 |
| hro3 |Project-F| 90 | 5 | 66 | 39 |
+------+---------+----------+--------+---------+---------+
という結果が得られるのですが、

+------+---------+----------+--------+---------+---------+
| name |team_name|sum(point)|count(*)|max(size)|min(size)|
+------+---------+----------+--------+---------+---------+
| hro3 |Project-F| 90 | 5 | 66 | 39 |
| hro | | 25 | 2 | 46 | 42 |
| hro2 |Project-F| 15 | 1 | 47 | 47 |
+------+---------+----------+--------+---------+---------+

というように、sum(point) 順に並べた結果を得るには、どのようなSQL文を発行したらよいのでしょうか?

select name,team_name,sum(point),count(*),max(size),min(size) from data where kind = 'hoge' group by name order by sum(point) desc;
ってやれると楽だったんですが・・・・・(^^;

お知恵をお貸しください。

投稿日時 - 2006-01-04 03:17:41

QNo.1874048

困ってます

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

ORDER BYは番号でも指定できるし、名前を付ける方法もあります。

(1)ORDER BYで参照するために、名前を付ける
select name,team_name,sum(point) as x, ~
 from ~
where ~
order by x desc

(2)SELECTする並びの何番目かで指定する
select name,team_name,sum(point), ~
 from ~
where ~
order by 3 desc

投稿日時 - 2006-01-05 07:03:25

お礼

新年早々、ご回答いただきましてありがとうございます。
今回は、(2)の方法を採用いたしまして、無事思ったとおりの出力結果を得ることができました。
as の方法も使い勝手がよさそうなので、今後試していきたいと思います。
大変ありがとうございました。

投稿日時 - 2006-01-05 18:30:01

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

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

回答(2)

ANo.1

以下のように一度 AS で名前を付けてからORDERするとうまくいきます。
select name,team_name,sum(point) AS p,count(*),max(size),min(size) from data where kind = 'hoge' group by name order by p desc;

投稿日時 - 2006-01-04 12:07:01

お礼

ご回答ありがとうございます。
質問を投稿後、chukenkenkou様の(2)の方法を思いつきやってみたところ上手くいきました。
まだまだ、初心者ゆえ思った結果がでず悪戦苦闘の日々です。
AS の方法も今後試してみたいと思います。
新年早々、ありがとうございました。

投稿日時 - 2006-01-05 18:26:25