Prosím o pomoc s poskládáním dotazu v NTDB
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- kejlicz
- Člen | 201
Ahoj všem.
MOC prosím o radu někoho zkušeného, jak složit tento dotaz v NTDB. Mě to hlava nebere.
Mám tabulku články a tabulku hodnocení, kde jsou uložena hodnocení k článkům. Cizí klíče mám nastavené. V tabulce hodnocení je také sloupec znamka s hodnotou 1 až 5.
Potřebuji pouze vytáhnout 5 článků s nejlepším průměrným hodnocením (známka), které byly hodnoceny minimálně 5×.
Díky moc za pomoc.
- David Matějka
- Moderator | 6445
zhruba:
$db->table('article')
->group('article.id')
->having('COUNT(*) >= ?', 5)
->order('SUM(:rating.value) / COUNT(*) DESC')
->limit(5);
Ale z hlediska vykonnosti bude lepsi si triggerama udrzovat tu hodnotu hodnoceni u clanku :)