Diskuze: Nejlépe hodnocené
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 16 zpráv z 16.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Teď mě ještě napadá, že by to šlo dotazem.
Mám tyto řádky:
id: 1, name: Blabla, item: 1
id: 2, name: Blabla 2, item: 1
id: 3, name: Blabla 3, item: 2
A potřebuju získat řádky s největším počtem jednoho ID item. V tomto případě první dva řádky, protože jsou dva, zatímco item 2 je jen jeden. Šlo by to nějak?
Mělo by jít něco jako:
SELECT *
FROM predmet
JOIN hodnoceni USING (predmet_id)
GROUP BY predmet_id ORDER BY body DESC
| id |series | author | value |
|--------------------------------|
| 5 | 2 | 1 | 5 |
| 6 | 2 | 8 | 4 |
|--------------------------------|
Problém je, že tabulka s hodnocením vypadá nějak takto a ten předmět má tedy víc hodnocení od různých uživatelů.
Jestli tě správně chápu, šlo by to udělat pomocí vnořenýho dotazu. Vyber všechno z tabulky XXX kde item = (Vyber item, který se v tabulce YYY objevuje nejvíckrát).
Ono ale bohužel nejde o to, kolikrát se objeví, ale o průměr sloupce value.
soucet_value / pocet_prvku
Dalo by se to nějak udělat v MySQL?
Česky by ten příkaz zněl asi takto: Vyber pět řádků z tabulky
series
, které mají největší průměrné hodnocení z tabulky
ranking
.
Ano, ale tvoje řešení nepočítá s nevyšší průměrnou hodnotou. Nebo
počítá a já to tam nevím, to se pak omlouvám.
Nic o průměru jsi v dotazu nepsal. Si to uprav, každopádně budeš používat GROUP BY.
Na MySQL nejsem moc zručný. Můžeš mi ukázat, jak by to mohlo vypadat?
Průměr máš pomocí funkce AVG(). Stačí trošku pročíst dokumentaci, navíc i zde to je popsané
Já taky ne Nějak takhle
by to mohlo jít:
SELECT predmet_id, AVG(body) as prumer
FROM predmet
JOIN hodnoceni USING (predmet_id)
GROUP BY predmet_id
ORDER BY prumer DESC
LIMIT 10;
Není zač, alespoň jsem si ho taky provařil, je to zdravý
Asi si znova přečtu
něco o SQL, tohle mě vystrašilo.
Zobrazeno 16 zpráv z 16.