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
+
0
-

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
+
+4
-

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 :)

kejlicz
Člen | 201
+
0
-

Díky moc. Zachránil jsi mě :-)