dポイントプレゼントキャンペーン実施中!

例えば、
Aさん,41
Bさん,38
Cさん,60
Aさん,67
Bさん,50
Cさん,38
上のレコードセットを、次のように合計点の高いAさん、Cさん、Bさんの順に、かつ各回の点数順にソートしたいです。
Aさん,67
Aさん,41
Cさん,60
Cさん,38
Bさん,50
Bさん,38
これを簡単なSQLで一発で取れるようなやり方があればうれしいです。

A 回答 (1件)

create table tbl(user varchar(10),point int);


insert into tbl values
('Aさん',41),
('Bさん',38),
('Cさん',60),
('Aさん',67),
('Bさん',50),
('Cさん',38);


select * from tbl as t1
order by (select sum(point) from tbl where user=t1.user) desc,point desc
    • good
    • 0
この回答へのお礼

私の理解を超えるSQLです見事にできました^^

お礼日時:2018/10/09 22:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!