GROUP BYで集約されるときのソートを変えたい
GROUP BYで集約されるときのソートを変えたい
MySQLの5.1を使用しています。
テーブル"tbl"には、"no","id","score"の3つのフィールドがあり、
"no"は主キーです。
+---+----+-------+
| no | id | score |
+---+----+-------+
| 1 | 10 | 10002 |
| 2 | 10 | 10000 |
| 3 | 10 | 10008 |
| 4 | 11 | 10004 |
| 5 | 12 | 10006 |
+---+----+-------+
上記の表から、
scoreの値が高い順にグループ化してソートしたいのですが、
以下のSQL文ではscoreが最初に登録されたものに集約されてからグループ化されてソートしてしまうため、
思い通りの結果が得られずに困っています。
↓具体例
SELECT no, id, score
FROM tbl
ORDER BY score DESC
GROUP BY id;
+---+----+-------+
| no | id | score |
+---+----+-------+
| 5 | 12 | 10006 |
| 4 | 11 | 10004 |
| 1 | 10 | 10002 |
+---+----+-------+
↓欲しいソート順
+---+----+-------+
| no | id | score |
+---+----+-------+
| 3 | 10 | 10008 |
| 5 | 12 | 10006 |
| 4 | 11 | 10004 |
+---+----+-------+
テンポラリテーブルはなるべく使用せずソートしたいのですが、
このような事は可能なのでしょうか?
ご存知の方がいらっしゃいましたら教えていただけると助かります。
よろしくお願いします。