phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

FAQFAQ - PIERWSZA POMOC!!  regulaminREGULAMIN  SzukajSZUKAJ  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload  katalog Forów DyskusyjnychKatalog Forów   FAQ Video tutoriale

Poprzedni temat «» Następny temat
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.
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
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

Skocz do:  

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
Polecane serwisy

Najlepsze oprogramowanie do prowadzenia sklepu internetowegoNajlepszy program do sklepu firmowany przez Przem'a

Sklep z gadżetami

serwis laptopów

phpbb

Design Cart - Tworzenie sklepu internetowego

iRonin.IT

• Zamów reklamę