- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ベスト3の抽出方法)
ベスト3の抽出方法
このQ&Aのポイント
- ある学校の生徒の成績が蓄積されているテーブルから、クラス毎に平均点がベスト3の生徒を抽出する方法を教えてください。
- 提供されたデータでは、クラスごとに生徒の名前と平均点が示されています。
- 結果として、各クラスごとに平均点が高い順に上位3人の生徒が表示されます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
平均点は、静的に持つのですか? こんな感じで、目的の結果は得られると思います。 select t."class",t."name",t."average" from (select x."class",x."name",x."average",count(*) as num from oshiete_goo as x,oshiete_goo as y where x."class"=y."class" and x."average"<=y."average" group by x."class",x."average",x."name" ) as t where t.num<=3 order by t."class",t.num ;
お礼
chukenkenkouさんありがとうございます。 バッチリです! x."average"<=y."average" の部分、勉強になりました。ありがとうございました。