Autor Zpráva
sloncz
Profil
Dobrý den, mám tabulku s hlasy a každý hlas má u sebe "id" ke které fotce patří (hlasování o nejlepší fotku zvířete) a já bych se chtěl zeptat, jestli by mi někdo neporadil/neukázal nějaký SQL příkaz, který by mi vyechoval přímo kolikátá je ta fotka v pořadí (podle toho kolik má těch hlasů)? Např "SELECT neco WHERE fotka='3'"
Předem děkuji za každou radu/ukázku/pomoc
leomato
Profil *
ELECT neco WHERE fotka='3' ORDER BY hlasy DESC :)
Petr ZZZ
Profil
leomato: „ELECT
To asi ne...
Alphard
Profil
Chybí tam S, ale stejně to k ničemu nevede. Když je ve where filtrování jedné fotky, nemá smysl žádné řazení.
Obvyklé řešení je vyfiltrovat fotky, které mají víc více hlasů a ty spočítat, nějak takto:

select count(*)+1 poradi from (select count(*) pocet from hlasy group by id_fotky having pocet > (select count(*) from hlasy where id_fotky = 3)) t;
sloncz
Profil
Tak jsem to zkoušel ale vypíše to jen chybu Warning: mysql_fetch_array() expects parameter 1 to be resource, string given in /data/web/virtuals/50406/virtual/www/poradi.php on line 10 - to je ten řádek s mysql_fetch_array

$result = mysql_result(mysql_query("select count(*)+1 poradi from (select count(*) pocet from hlasy group by id_fotky having pocet > (select count(*) from hlasy where id_fotky = 3)) t;"), 0);
$poradi = mysql_fetch_array($result);
print_r($poradi);
Taps
Profil
sloncz:
$result =mysql_query("select count(*)+1 poradi from (select count(*) pocet from hlasy group by id_fotky having pocet > (select count(*) from hlasy where id_fotky = 3)) t;");
$poradi = mysql_fetch_array($result);
print_r($poradi);

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: