各プレイヤーのすべてのポイント (hiscore) の合計を計算する必要があります。
今のところ、プレーヤー 1 またはプレーヤー 2 のいずれかを合計できます。たとえば、カテゴリ 7 ではプレーヤー 1 がトムであり、カテゴリ 5 ではプレーヤー 2 もトムです。結果は、Tom = 2+10 = 12 ポイントになります。
SELECT SUM(subpoints) AS hiscore, player1_id, player2_id, FROM (
SELECT COUNT(current_record)*2 AS subpoints, player1_id, player2_id FROM db WHERE category_id IN (7,8) GROUP BY player1_id
UNION ALL
SELECT COUNT(current_record)*10 AS subpoints, player1_id, player2_id FROM db WHERE category_id IN (1,2,3,4,5,6) GROUP BY player1_id
) AS hi
GROUP BY player1_id
サンプルテーブル:
category_id | player1 | player2 | subpoints |
-------------+---------+---------+-----------+
7 | Tom | Mike | 2 |
5 | Peter | Tom | 10 |
----------------------------------------------
最終結果は次のようになります。
Player | hiscore |
-------+---------+
Tom | 12 |
Mike | 2 |
Peter | 10 |