Autor | Zpráva | ||
---|---|---|---|
hyXyh Profil * |
#1 · Zasláno: 28. 2. 2008, 13:30:56
Zdravím,
robím na jednej ankete, ale mám trochu problém s tým, že by som potreboval vybrať z mysql odpovede na otázku s počtom hlasov, vyjadrených v percentách. A zároveň by som potreboval získať aj najvyššie percento ktoré sa nachádza pri odpovedi. Bol som v tom, že toto by mohlo fungovať: $hlasov = mysql_result(mysql_query("SELECT SUM(`hlasov`) FROM `ankety_odpovede` WHERE `id` = '".$row['id']."'"), 0); $reso = mysql_query("SELECT *, ".($hlasov != 0 ? "(`hlasov`/".$hlasov.")*100" : "0")." AS `p`, MAX(`p`) AS `max_p` FROM `ankety_odpovede` WHERE `id` = '".$row['id']."'"); ... lenže problém je s tým MAX(`p`). Tam mi hlási chybu pri mysql_error. Nevedel by niekto možno aj elegantnejšie riešenie ako na to? Vďaka. |
||
Kajman_ Profil * |
#2 · Zasláno: 28. 2. 2008, 14:13:33
Co si to maximum spočítat s tím součtem?
SELECT SUM(`hlasov`) soucet, max(`hlasov`) maximum FROM `ankety_odpovede` WHERE `id` = '$row[id]' |
||
ninja Profil |
#3 · Zasláno: 28. 2. 2008, 16:48:38
hyXyh: kdyz chces pouzivat agregacni funkce (SUM, MAX, atd), musis nejdrive radky seskupit, tedy pouzit GROUP BY.
|
||
Kajman_ Profil * |
#4 · Zasláno: 28. 2. 2008, 16:54:46
ninja
Ale houbelec. Když chce ty agregační funkce použít na všechny řádky dané podmínkou, tak žádné group by není třeba a může to mít, tak jak to má v tom prvním dotazu. |
||
ninja Profil |
#5 · Zasláno: 28. 2. 2008, 17:24:50
Kajman_: Mas pravdu, nevedel jsme ze to i takto funguje.
|
||
Časová prodleva: 16 let
|
0