Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ チャレンジ:トップ数学学生の検索 | グループ化
中級SQL
セクション 1.  5
single

single

チャレンジ:トップ数学学生の検索

メニューを表示するにはスワイプしてください

学校はあなたの働きに満足しており協力を継続することに同意しました

今回は新たな課題が与えられました。平均成績が最も高い上位10名の生徒に、報酬として科学センターへの旅行が提供されます。必須条件として、数学の試験で90点以上を取得していることが求められます。このような生徒を見つけるために、あなたに依頼がありました。

この課題を、employeeテーブルを例にして確認してみましょう。

例えば、2019年以前に雇用された従業員がいる部署と、その部署の平均給与を調べる必要があるとします。このような課題を実装するには、次のクエリを使用できます。

1234
SELECT department, AVG(salary) AS average_salary FROM employees WHERE hire_date < '2019-01-01' GROUP BY department

ご覧の通り、該当する従業員は3名のみであり、必要なツールを使ってこの結果を得ることができました。

タスク

スワイプしてコーディングを開始

数学の試験で90点以上を取得した学生を対象に、最大10名まで抽出してください。その成績について、学生ごとに平均値を計算します。結果はこの平均値(average_gradeという別名を付ける)で降順に並べてください。

簡単な手順:

  • student_surnameと、grade関数を使ってAVG()列の平均値を選択します。
  • 2列目にはaverage_gradeという別名を付けます。
  • データはsubject_nameがMathematicsかつgradeが90以上の行のみに絞り込みます。
  • 結果はstudent_surnameでグループ化します。
  • average_grade降順に並べ替えます。
  • LIMIT 10を使って、10件のみ返します。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  5
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt