私はMySQLにはあまり興味がありませんが、1つのステートメントだけが必要です.これについてあなたの助けを本当に感謝します.
「ユーザー」と「スコア」の2つのテーブルがあります
「ユーザー」の構造は次のとおりです。
| user_id | user_name |
| 1 | Paul |
| 2 | Peter |
「スコア」の構造は次のとおりです。
| score_id | score_user_id | score_track_id | score_points |
| 1 | 2 | 23 | 200 |
| 2 | 2 | 25 | 150 |
ここで、ある種のハイスコア リストを提供するクエリが必要です。結果には、user_id、user_name、およびユーザーに関連するすべてのスコアの合計が含まれている必要があります。次のようになります。
| user_id | user_name | scores |
| 1 | Paul | 0 |
| 2 | Peter | 350 |
次のように、結果がグローバルランキングでのユーザーの位置順にソートされると、さらに良いでしょう:
| position | user_id | user_name | scores |
| 1 | 2 | Peter | 350 |
| 2 | 1 | Paul | 0 |
発言してみた
SELECT user_id as current_user, user_name, SUM(SELECT score_points FROM score WHERE score_user_id = current_user) as ranking FROM user ORDER BY ranking DESC
その結果、構文エラーが発生します。私にとっての主な問題は、各行の「ユーザー」の user_id を「スコア」のスコア_ユーザー ID に接続することです。
ご助力ありがとうございます