Autor Zpráva
Watchick
Profil
Zdravím, mám takovýto SQL dotaz:
SELECT 
id,
nazev,
`text`,
`time`,
(SELECT prumer FROM lamer_hodnoceni WHERE idprispevku=lamer_prispevky.id LIMIT 1) AS prumer 
FROM 
lamer_prispevky ORDER BY prumer DESC LIMIT 0,20

Ale tohle vyšvihne příspěvek s jedním hodnocením na nejlepší místo...
nevíte jak to zdokonalit (přičemž ještě mám:)
(SELECT hlasu FROM lamer_hodnoceni WHERE idprispevku=lamer_prispevky.id LIMIT 1) AS pocethlasu

Kdysy jsem něco takového viděl v php... ale už nevím kde...

Děkuji Watchick
Jan Tvrdík
Profil
Watchick:
Kdysi jsem takovýto dotaz položil na matematickém fóru, ale už jsem se nedostal k analýze odpovědí :)
http://forum.matweb.cz/viewtopic.php?id=4099
tiso
Profil
Watchick

SELECT 
id,
nazev,
`text`,
`time`,
(SELECT prumer, hlasu FROM lamer_hodnoceni WHERE idprispevku=lamer_prispevky.id LIMIT 1) AS subselect
FROM 
lamer_prispevky ORDER BY prumer DESC, hlasu DESC LIMIT 0,20


edit:
- miesto subselektu by si tam mal mať JOIN
- ak nechces zarátavať príspevku s málo hlasmi, tak si do where pridaj podmienku AND hlasu > 10 (miesto 10 si dosaď čo potrebuješ)
Watchick
Profil
Tak nakonec jsem zkončil u toho, že každému dám ze začátku 5krát nulu, a hned je to lepší :)

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: