Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapytanie??
one_eddie
post
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 :]


--------------------
Potrzebujesz oprogramowania dla firmy lub do użytku prywatnego? Zajrzyj na http://www.virgotech.pl
Sklep z gotowymi programami, grami oraz kodami źródłowymi. Zajrzyj na http://www.sklep.virgotech.pl
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
FiDO
post
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 :/
Go to the top of the page
+Quote Post
one_eddie
post
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 sad.gif ).

Reszte rozumiem.

Jak bys mogl opisac co robi to zapytanei bede wdzieczny.


--------------------
Potrzebujesz oprogramowania dla firmy lub do użytku prywatnego? Zajrzyj na http://www.virgotech.pl
Sklep z gotowymi programami, grami oraz kodami źródłowymi. Zajrzyj na http://www.sklep.virgotech.pl
Go to the top of the page
+Quote Post
FiDO
post
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 winksmiley.jpg
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 sad.gif ).

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 :/
Go to the top of the page
+Quote Post
one_eddie
post
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


--------------------
Potrzebujesz oprogramowania dla firmy lub do użytku prywatnego? Zajrzyj na http://www.virgotech.pl
Sklep z gotowymi programami, grami oraz kodami źródłowymi. Zajrzyj na http://www.sklep.virgotech.pl
Go to the top of the page
+Quote Post
FiDO
post
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 winksmiley.jpg
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 :/
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 07:33