![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 276 Pomógł: 3 Dołączył: 22.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Mam tabelę RANKING gdzie:
TID - klucz TurnID - numer turnieju PID - numer gracza Rank - ranking gracza jaki posiada pozostałe pola nie mają znaczenia w tym zapytaniu. Zapytanie powinno znaleźć niepowtarzające sie osoby (PID), a następnie najwyższy numer turnieju (TurnID) dla każdej osoby (PID), ale z ograniczeniem ilości turniejów (TurnID) np do piątego (TurnID <= 5) Moje zapytanie wygląda nastepująco:
ale niestety z racji, że DISTINCT szuka od początku do końca znajduje mi pierwsze wystąpienie i warunek na najwyższe TurnID -> MAX(TurnID) nic w zasadzie nie znienia (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 255 Pomógł: 0 Dołączył: 22.04.2004 Skąd: Żoliborz Ostrzeżenie: (0%) ![]() ![]() |
Masz źle zaplanowaną bazę.
Moim zdaniem gracz powinien mieć własną tabelę. A zapytanie wyglądało by tak:
Ten post edytował popbart 13.10.2004, 15:02:42 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 276 Pomógł: 3 Dołączył: 22.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
W sumie to stworzyłem - metoą prób i błędów zapytanie, które mnie interesowało - ale jak się okazało po testach - de facto okazało się, że to iż rankingi są a,tualne przez 2 lata - tzn są przez ten okres naliczane (zapomniałem o tym) zmusiły mnie do przebudowy bazy. A tak przy okazji - tanta baza jest zbudowana poprawnie - pozycja Name jest po to by baza była bardziej przejrzysta - podczas wyszukiwania - niepoprawnych wpisów.
Wnoszę do admina o skasowanie tego postu. Z góry dzięki Ten post edytował Aztech 13.10.2004, 21:58:58 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 02:21 |