staram się uzyskać pozycję w rankingu, ale mam inne dane niż w większości przykładów w internecie (np http://nospor.pl/mysql-faq.html#faq-8)
Tabela games:
Kod
id | user_id | points
Ranking składa się z najlepszego wyniku danego użytkownika, starałem się to zrobić tak:
SET @m:=0; SELECT MAX(points) AS max_p, @m:=@m+1 AS rank, user_id FROM games GROUP BY games.user_id ORDER BY max_p DESC
jest źle,
wszystko w tym wypadku rozbija się o GROUP ponieważ pozycja jest naliczana przed grupowaniem.
SET @m:=0; SELECT points AS max_p, @m:=@m+1 AS rank, user_id FROM games ORDER BY max_p DESC
W tym wypadku pozycja jest wyliczana ok, ale mam kilka wyników każdego użytkownika.
Z góry dzięki za pomoc.