mysql zapytanie - count(), case i nie wiem co jeszcze
prozaKC - 17-06-2007 00:17
mysql zapytanie - count(), case i nie wiem co jeszcze
Witam
Nie mog? upora? si? z pewnym zapytaniem.
Mam tabel? ZAWODNICY - uid, nazwisko, imi? i tabel? TURNIEJ - biale, czarne, wynik.
Zawodnicy graj? w szachy i tabela TURNIEJ zape?nia si? wynikami. biale- uid, czarne-uid, wynik-'b', 'c', 'r'
To wszystko dzia?a, wyniki s? zebrane. Teraz potrzebuj? jednym zapytaniem stworzy? tabel? ko?cow? turnieju, przedstawiaj?c? pozycje i punktacje zawodników, zgodnie z zasadami: partia wygrana daje 1 punkt, zremisowana - 1/2 punktu, przegrana - 0 punktów, w przypadku równej punktacji o kolejno?ci decyduje liczba zwyci?stw.
mysql -e 'select zawodnicy.uid, zawodnicy.nazwisko, count(turniej.wynik) as wygrana from zawodnicy join turniej on (zawodnicy.uid=turniej.biale and turniej.wynik="b") or (zawodnicy.uid=turniej.czarne and turniej.wynik="c") group by uid order by wygrana desc;'
Daje mi np. takie zestawienie. +-----+--------------+---------+ | uid | nazwisko | wygrana | +-----+--------------+---------+ | 2 | Z*******ka | 9 | | 7 | C*******ik | 8 | | 10 | S******ki | 8 | | 4 | B********cz | 8 | | 1 | R*******a | 8 | | 6 | R*******k | 6 | | 5 | U*******ski | 5 | | 3 | K*******z | 5 | | 9 | J******s | 5 | | 8 | M******rz | 2 | +-----+--------------+---------+
Nie wiem jak w jednym councie( ) zsumowa? wygrane i remisy... B?d? wdzi?czny za podpowiedzi.
Pozdrawiam -- ProzaKc
=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 17-06-2007 00:17
prozaKC wrote: > Witam > > Nie mog? upora? si? z pewnym zapytaniem. > > Mam tabel? ZAWODNICY - uid, nazwisko, imi? i tabel? TURNIEJ - biale, > czarne, wynik. > > Zawodnicy graj? w szachy i tabela TURNIEJ zape?nia si? wynikami. biale- > uid, czarne-uid, wynik-'b', 'c', 'r' > > To wszystko dzia?a, wyniki s? zebrane. Teraz potrzebuj? jednym > zapytaniem stworzy? tabel? ko?cow? turnieju, przedstawiaj?c? pozycje i > punktacje zawodników, zgodnie z zasadami: partia wygrana daje 1 punkt, > zremisowana - 1/2 punktu, przegrana - 0 punktów, w przypadku równej > punktacji o kolejno?ci decyduje liczba zwyci?stw. > > mysql -e 'select zawodnicy.uid, zawodnicy.nazwisko, > count(turniej.wynik) as wygrana from zawodnicy join turniej on > (zawodnicy.uid=turniej.biale and turniej.wynik="b") or > (zawodnicy.uid=turniej.czarne and turniej.wynik="c") group by uid > order by wygrana desc;' > > Daje mi np. takie zestawienie. > +-----+--------------+---------+ > | uid | nazwisko | wygrana | > +-----+--------------+---------+ > | 2 | Z*******ka | 9 | > | 7 | C*******ik | 8 | > | 10 | S******ki | 8 | > | 4 | B********cz | 8 | > | 1 | R*******a | 8 | > | 6 | R*******k | 6 | > | 5 | U*******ski | 5 | > | 3 | K*******z | 5 | > | 9 | J******s | 5 | > | 8 | M******rz | 2 | > +-----+--------------+---------+ > > Nie wiem jak w jednym councie( ) zsumowa? wygrane i remisy... > B?d? wdzi?czny za podpowiedzi.
Piszesz o CASE w temacie, a go nie u?ywasz. A w?a?nie on rozwi??e Twój problem cho? troch? pisania b?dziesz mia?. :)
-- P.M.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
[MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?=
[MS SQL] "set names" (mySQL) w MS SQL
MySQL - jak =?ISO-8859-2?Q?wyeksportowa=E6_zawarto=B6=E6_wie?==?ISO-8859-2?Q?lkiej_tabeli?=
zanotowane.pldoc.pisz.plpdf.pisz.plred-hacjenda.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|