mam pewien problem. Mam tabelę, w której przechowuję wyniki użytkowników w danej grze. Struktura tabeli to:
Kod
id, user_id, game_id, wynik, data
Każdy gracz do każdej gry może mieć kilka rekordów.
Chciałbym teraz pobrać listę 10 najlepszych graczy sortując ich najpierw po zdobytych punktach malejąco, a następnie (i tu problem) po dacie uzyskania punktów rosnąco.
W wyniku mam takie zapytanie:
SELECT a.user_id, MAX(a.wynik) AS score, b.username, b.user_email, b.lost_info, FROM_UNIXTIME(a.`data`) FROM ranking a LEFT JOIN phpbb_users b ON b.user_id=a.user_id WHERE a.game_id=33 AND b.user_active=1 AND a.active=1 GROUP BY a.user_id ORDER BY score DESC, a.`data` ASC LIMIT 10 ;
Problem jednak w tym, że nie wiem w jaki sposób wyciągnąć datę uzyskania danego wyniku (po której ma nastąpić sortowanie). Aktualnie wybierana jest data uzyskania pierwszego wyniku w ogóle danego użytkownika dla danej gry.
Może podam przykładowe dane wyjściowe:
http://images32.fotosik.pl/361/a764f8be52aab7f9.png
Proszę zwrócić uwagę na użytkowników, którzy zdobyli po 450 pkt oraz daty, jakie widnieją przy wynikach (są niepoprawne).
Dane zawarte w bazie dla tych dwóch użytkowników dla danej gry (posortowane po punktach i dacie) to:
http://images38.fotosik.pl/10/fa82770aa2b9abad.png
Widać wyraźnie, że w zapytaniu, o które mi chodzi brana jest pod uwagę pierwsza wpisana data, a nie ta, kiedy zostały zdobyte punkty.
Proszę o pomoc,
pion