3

私は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 に接続することです。

ご助力ありがとうございます

4

1 に答える 1