そのため、アクティビティの種類ごとに、どのユーザーが最も多くのポイントを獲得しているかを表示するクエリを作成しようとしています。以下のテーブル構造を確認できます。各アクティビティにはactivity_typeidがあり、それぞれに特定のactivity_weightがあります。
次の例では、ボブは通話で 50 ポイント、会議で 100 ポイントを獲得しています。James は通話で 100 ポイント、会議で 100 ポイントを獲得しました。
userid activity_typeid activity_weight
------------------------------------------------------------
123 (Bob) 8765 (calls) 50
123 (Bob) 8121 (meetings) 100
431 (James) 8765 (calls) 50
431 (James) 8121 (meetings) 100
431 (James) 8765 (calls) 50
以下を出力できるようにしたい。
- 通話のトップ パフォーマー = James
- ミーティングのトップ パフォーマー = Bob、James。
activity_typeidはランダムに入力されるため事前にわからないので、各 DISTINCT/UNIQUE activity_typeidの SUM を計算する何らかのクエリを作成できるかどうか疑問に思っていました。
よろしくお願いします。