0
私は、データベース内のチームのランク番号を 'ポイント'に基づいて取得するためのSQLクエリを持っています。SQLクエリでチームランクを取得する
SELECT id, points, team_name, FIND_IN_SET(points, (
SELECT GROUP_CONCAT(points
ORDER BY points DESC)
FROM teams)
) AS rank
FROM teams
WHERE id = ?
LIMIT 1
私が抱えている問題は、2つのチームが同じポイントを持っているというシナリオが与えられていることです。 2つのチームがあり、各チームには「0」のポイントがあるとします。クエリは両方のチームのランク '1'を返します。
「id」が低いチームには、同じポイントのチーム間でランクを上げたいと思っています。
たとえば、team1とteam2の両方に「5」のポイントがあります。下位のIDを持つチームが1位になるようにします。
私のクエリを変更するにはどうすればよいですか?それはgroup_concat()
における中間部分文字列の長さに依存するため
おかげ
ありがとう! – iJamesPHP2