###前提・実現したいこと
グループごとに存在するスコアがあり、グループごとの最大や直近のスコアの平均を知りたいと考えています。
###該当のソースコード
MySQL
1id,user_id,group,group_num,score 21,1,1,10,85 32,1,1,10,5 43,1,1,10,50 54,2,1,11,93 65,2,1,11,79 76,3,1,12,13 87,4,1,13,32 98,4,1,13,94 109,4,1,13,31 1110,5,2,10,5 1211,5,2,10,6 1312,5,2,10,69 1413,6,2,11,87 15
###意図する結果
最大
group1
85点のフィールドと93点のフィールドと13点のフィールドと94点のフィールドを取得
直近の平均
グループ1の場合、50+79+13+31の各フィールドを取得したり、その平均を求める。idが大きいものが直近になります。
###質問
やはり、クエリを何回もなげて、取得するべきでしょうか。
どのカラムでグルーピングするのか、何をもって「直近」と判断するのかよくわからないので明示してください。
groupカラムでグルーピングします。直近というのは、日付ですね。データが挿入されていくので、idが大きいものが最新になります。あ、間違えました。idをつけておくの忘れました。。。
groupカラムは2種類しかないですが、groupとgroup_numの2つでグルーピングしたい、もしくは特定のgroupにおいてgroup_numでグルーピングしたいということでしょうか。
カラムの設計が分かりにくくてすみません。groupはクラス、group_numは出席番号的なイメージです。クラスごとの最大や平均を知りたいということです。
回答1件
あなたの回答
tips
プレビュー