playersテーブル
id | name | |
---|---|---|
1 | taro | api_test1@gmail.com |
2 | jiro | api_test2@gmail.com |
3 | saburo | api_test3@gmail.com |
4 | siro | api_test4@gmail.com |
5 | goro | api_test5@gmail.com |
evaluationsテーブル
id | soccer_player_id(FK) | evaluation |
---|---|---|
1 | 2 | 3.0 |
2 | 4 | 3.5 |
3 | 2 | 2.0 |
4 | 1 | 1.5 |
5 | 4 | 0.5 |
1対多の関係です
やりたいこと
soccer_player_id毎に分けて、evaluationカラムの値の平均値を出して上位3位をレスポンスとして返す(そのレスポンスにはsoccer_playerのemailカラムを含ませて返却する)
left_joinで結合、selectでカラム指定、groupでグループ化、orderで並び替え、averageで平均化などを何度か組み合わせたりして見ましたが、結果的に欲しいデータが得られず時間が結構とられてしまったのでご回答またはアドバイスをいただきたいです。
お手数ですがよろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/22 06:37