Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z sortowaniem po grupowaniu
phpion
post
Post #1





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Witam,
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:
  1. SELECT
  2. a.user_id, MAX(a.wynik) AS score, b.username, b.user_email, b.lost_info, FROM_UNIXTIME(a.`data`)
  3. FROM ranking a
  4. LEFT JOIN phpbb_users b ON b.user_id=a.user_id
  5. WHERE a.game_id=33 AND b.user_active=1 AND a.active=1
  6. GROUP BY
  7. a.user_id
  8. ORDER BY score DESC,
  9. a.`data` ASC LIMIT 10
  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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 19:55