![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 23.05.2003 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
Mam baze danych ktora wyglada mniej wiecej tak:
[USERS] ID – liczba całkowita długa Name – łańcuch Pass – łańcuch State – liczba całkowita [GAME_LOG] ID – liczba całkowita długa GameStartTime – lancuch GameEndTime – lancuch FirstUserID – liczba całkowita długa SecondUserID – liczba całkowita długa WinnerID – liczba całkowita długa [USER_MOVE_LOG] ID – liczba całkowita długa GameLogID – liczba całkowita długa UserID – liczba całkowita długa UserMove – liczba całkowita teraz chcialbym do tej bazy zrobic nastepujace statystyki: 1. uzytkownicy - ilosc rozegranych gier (posortowane wg najwiekszej ilosci gier) 2. uzytkownicy - uzytkocnicy ktorszy maja najwiecej 0 w tablicy USER_MOVE_LOG w polu UserMove Jesli ktos mogl by mi pomoc w zbudowaniu odpowiednich zapytan bede wdzieczny :] -------------------- ![]() Sklep z gotowymi programami, grami oraz kodami źródłowymi. Zajrzyj na http://www.sklep.virgotech.pl |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Ad2.
[sql:1:0ea98815da] SELECT u.name, COUNT(m.id) ile_zer FROM users u, user_move_log m WHERE u.id = m.userid AND m.usermove = 0 GROUP BY u.name ORDER BY ile_zer DESC [/sql:1:0ea98815da] Ad1. jakim polem laczy sie druga tabela z pierwsza? (widze 3 potencjalne) -------------------- Brak czasu :/
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 23.05.2003 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
Cytat Ad2.
[sql:1:c556cea22d] SELECT u.name, COUNT(m.id) ile_zer FROM users u, user_move_log m WHERE u.id = m.userid AND m.usermove = 0 GROUP BY u.name ORDER BY ile_zer DESC [/sql:1:c556cea22d] Cytat Ad1. jakim polem laczy sie druga tabela z pierwsza? (widze 3 potencjalne)
Z USERS, pole ID zapisywane jest do FirstUserID lub SecondUserID, ale tez to WinnerID ale ono jest w tym mniej wazne. Z tego co mi napisales widze ze bedzie to hcyba cos takiego: Ad1. [sql:1:c556cea22d]SELECT u.name, COUNT(m.id) ile_gier FROM users u, game_log, g WHERE FirstUserID = u.id OR SecondUserID = u.id GROUP BY u.name ORDER BY ile_gier DESC[/sql:1:c556cea22d] TYlko mam pewne pytanie nie zabardzo rozumiem ta konstrukcje, bycmoze dlatego ze SQL znam tylko z podstawowych kursow. Jak bys miala jakies adresiki z cieekawymi kursami chetnie przeczytam (moga byc ANG/PL). Ale jesli mogl bys powiedz mi co robi, np. COUNT(m.id) ile_zer i ,np. from users u (to domyslam sie ze to jakies aliasy, nigdy nie uzywalem ![]() Reszte rozumiem. Jak bys mogl opisac co robi to zapytanei bede wdzieczny. -------------------- ![]() Sklep z gotowymi programami, grami oraz kodami źródłowymi. Zajrzyj na http://www.sklep.virgotech.pl |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Cytat Z tego co mi napisales widze ze bedzie to hcyba cos takiego:
Predzej tak: [sql:1:98cb6ac8a3]SELECT u.name, COUNT(g.id) ile_gier FROM users u, game_log g WHERE FirstUserID = u.id OR SecondUserID = u.id GROUP BY u.name ORDER BY ile_gier DESC[/sql:1:98cb6ac8a3] Cytat Jak bys miala jakies adresiki z cieekawymi kursami chetnie przeczytam (moga byc ANG/PL).
Raczej bym nie mialA ![]() W zasadzie nie znam dobrego kursu dla srednio zaawansowanych w necie, chociaz mozesz sprobowac www.sqlcourse.com . Ja wiekszosci trudniejszych rzeczy nauczylEm sie analizujac zapytania podawane tutaj przez niektorych. Cytat Ale jesli mogl bys powiedz mi co robi, np. COUNT(m.id) ile_zer i ,np. from users u (to domyslam sie ze to jakies aliasy, nigdy nie uzywalem
![]() Dokladnie sa to aliasy. W pelnej krasie powinno to wygladac tak: [sql:1:98cb6ac8a3]SELECT u.name, COUNT(g.id) AS ile_gier FROM users AS u, game_log AS g WHERE FirstUserID = u.id OR SecondUserID = u.id GROUP BY u.name ORDER BY ile_gier DESC[/sql:1:98cb6ac8a3] ale te AS mozna pomijac. -------------------- Brak czasu :/
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 23.05.2003 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
dzieki za adresik wczesniej go widzialem ale jakos nie sprawdzilem 2 kursu.
A szkoda bo wiedzial bym ze jest cos takiego jak COUNT i ze to dziala tak: (COUNT returns the total number of values in a given column). Sorki za "a". Maly blad. Co do zapytania teraz rozumeim go calkowicie, ujednolicilem go do: [sql:1:69af1e3fe7]SELECT u.name, COUNT(g.id) ile_gier FROM users u, game_log g WHERE g.FirstUserID = u.id OR g.SecondUserID = u.id GROUP BY u.name ORDER BY ile_gier DESC[/sql:1:69af1e3fe7] Chciaz nie ma to wiekszego sencu, bo jak mi sie wydaje aliasy uzywane sa wtedy gdy pola tabel maja jednakowe nazwy, ale moge sie mylic?? Dzieki -------------------- ![]() Sklep z gotowymi programami, grami oraz kodami źródłowymi. Zajrzyj na http://www.sklep.virgotech.pl |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Cytat Sorki za "a". Maly blad.
Zdarza sie ![]() Cytat Chciaz nie ma to wiekszego sencu, bo jak mi sie wydaje aliasy uzywane sa wtedy gdy pola tabel maja jednakowe nazwy, ale moge sie mylic??
Taki jest ich cel, ale ja sie jakos przyzwyczailem, zeby uzywac zawsze przy laczeniach, zebym odrazu po zapytaniu widzial, ktore pole z jakiej tabeli. -------------------- Brak czasu :/
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 07:33 |