|
|
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo
|
|
Przesunięty przez: Boltex 09-04-2013, 21:35 |
Ranking zapytanie SQL |
Autor |
Wiadomość |
Raduss
Posty: 300
|
Wysłany: 09-04-2013, 11:31 Ranking zapytanie SQL
|
|
|
Witam
Przerobiłem sobie statystykę TOP50 Godzin na Ranking TOP30 Graczy
Wszystko ładnie działa wczytuję mi osoby, które mają min 1 pkt wygrany w meczu
ale jak zrobić żeby wczytało również osoby, które mają np 1pkt przegrany i nie mają wygranego meczu?
Kod: | $sql = "SELECT user_id, username, user_session_time, user_allow_viewonline, user_jr, user_level, user_field_5, user_field_6, user_field_7, user_field_8
FROM " . USERS_TABLE . " WHERE (user_field_5 > '0') ORDER BY user_field_5 DESC LIMIT 30"; |
Wczytuje tylko osoby z user_field_5 czyli tabela: Wygrane
A jak ktoś przegrał to ma user_field_6 Przegrane i tej osoby nie pokazuje.
Bo ranking pokazuje tylko Wygrane.
Jak dodać żeby pokazywało nawet tych, którzy nie wygrali, a przegrali
Link: http://www.goldgame.pl/staty_1on1.php
L: Test
H: test |
|
|
|
 |
Gadatliwa Kasia
|
|
|
|
MQs
Pomógł: 172 razy Posty: 480
|
Wysłany: 09-04-2013, 14:37
|
|
|
Kod: | ...WHERE (user_field_5 > '0') ORDER BY... |
zamień na:
Kod: | ...WHERE user_field_5 > '0' OR user_field_6 > '0' ORDER BY... |
remisowych analogicznie np. "...OR user_field_7.." |
|
|
|
 |
Raduss
Posty: 300
|
Wysłany: 10-04-2013, 08:58
|
|
|
Działa dzięki
AD1. Jak zrobić żeby najpierw patrzyło na Wygrane a potem na Przegranych czyli że
5. Ktoś tam 0 Wygranych 3 Przegrane 0 Remis
6. Ktoś tam 0 Wygranych 2 Przegrane 0 Remis
Jak widać ten 6 powinien być wyżej nad 5 bo ma mniej przegranych.
AD2. Jak zrobić żeby wyliczało średnią wygranej czyli:
1. 1 Wygrana 1 Przegrana = 0
2. 2 Wygrane 1 Przegrana = 1 i powinien znaleźć się wyżej nad tym 1 |
|
|
|
 |
MQs
Pomógł: 172 razy Posty: 480
|
Wysłany: 10-04-2013, 10:50
|
|
|
Możesz sobie zapisać sortowanie za pomocą działania na wartościach pól np wg ilości punktów - wygrana=3, remis=1:
Kod: | ORDER BY (3*user_field_5 + user_field_7) DESC |
Ewentualnie dodać kolejne kryterium sortowania w przypadku takiej samej ilości punktów - tutaj np liczy przegrane, a potem (gdy nadal mamy równorzędne wyniki) ilość meczów:
Kod: | ORDER BY (3*user_field_5 + user_field_7) DESC, user_field_6 ASC, (user_field_5 + user_field_6 + user_field_7) DESC |
Nie znam pełnych zasad ustalania kolejności w tabeli, więc gotowego rozwiązania ci nie podam, ale chyba widać o co chodzi. |
|
|
|
 |
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!
Powered by phpBB modified by Przemo © 2003 phpBB
| Strona wygenerowana w 0,07 sekundy. Zapytań do SQL: 13 | |
 |
|