
皆さん、こんばんは。
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;
ってやれると楽だったんですが・・・・・(^^;
お知恵をお貸しください。
No.2ベストアンサー
- 回答日時:
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
新年早々、ご回答いただきましてありがとうございます。
今回は、(2)の方法を採用いたしまして、無事思ったとおりの出力結果を得ることができました。
as の方法も使い勝手がよさそうなので、今後試していきたいと思います。
大変ありがとうございました。
No.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;
ご回答ありがとうございます。
質問を投稿後、chukenkenkou様の(2)の方法を思いつきやってみたところ上手くいきました。
まだまだ、初心者ゆえ思った結果がでず悪戦苦闘の日々です。
AS の方法も今後試してみたいと思います。
新年早々、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MySQLで MAX()とGROUP BYを使う...
-
使うべきでない文字。
-
並び変えについて教えてください
-
SQL文で右から1文字だけ削除す...
-
【初歩】ラジオボタンをつかっ...
-
表示方法について
-
割合(パーセント)を求めるに...
-
【MYSQL】asでリネームしてwher...
-
SQLの集計で「全て」の合計も表...
-
表示幅を短くしたい
-
Oracleでの文字列連結サイズの上限
-
GROUP BYを行った後に結合した...
-
OracleのSQL*PLUSで、デー...
-
レコードが存在しなかった場合
-
select insertで複数テーブルか...
-
あるカラムのMAX値+1をINSERTし...
-
Accessのクエリでフィールドの...
-
SELECTの結果で同一行を複数回...
-
SELECTで1件のみ取得するには?
-
DataGridViewの、選択されてい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
使うべきでない文字。
-
【初歩】ラジオボタンをつかっ...
-
SQL文で右から1文字だけ削除す...
-
【MYSQL】asでリネームしてwher...
-
sum()の出力結果順に並び替えを...
-
MySQLで MAX()とGROUP BYを使う...
-
チェックボックスの項目をDBにi...
-
割合(パーセント)を求めるに...
-
SQLの集計で「全て」の合計も表...
-
表示幅を短くしたい
-
ビット演算
-
検索機能で条件を指定しない場...
-
月別、販売員別の集計がわかり...
-
Update文の書き方について
-
UNIONについて
-
[初心者]A表の2つの値からB表...
-
MySQLのクエリについて
-
今週の日曜日から土曜日までの...
-
初心者Mysqlの関数のsubstring...
-
カウント結果を1レコードの中...
おすすめ情報