Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skomplikowany algorytm wybrania danych
Forum PHP.pl > Forum > Bazy danych > MySQL
rafalp
Witam, muszę się zgłosić do Was pomoc ponieważ mam w głowie zapytanie które chciałem napisać lecz w SQL wydaje mi się to nie do zrealizowania (?)

Tabela USERS_SCORE:
[ID][SCORE_A][SCORE_B][SCORE_C]

Chodzi mi o wybranie TOP 10 userów którzy mają najwięcej punktów - ale: tak żeby ich nie wybierać ponownie (tylko kogoś kolejnego z mniejsza ilością punktów) jeśli w kolejnych kategoriach też się "załapią" do TOP 10.
np dla TOP 3:

1|100|200|300
2|50 | 40 | 50
3|30 | 35 | 80
4| 9 | 8 | 7
5| 8 | 7 | 6

User 1 wygrywa w 3 kategoriach więc bierzemy tą w ktorej ma max czyli SCORE_3 (300pk.) - i do pozostałych w których wygrywa już go nie bierzemy tylko bierzemy kolejnych z dołu user 2,3 itd.

Myślicie że można to zrobić za pomocą jednego zapytania SQL?
erix
Da się (korzystając z WHERE NOT IN + subzapytanie), ale nie wiem, czy to będzie zbyt optymalne...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.