Dotaz do databáze s group a sum jak použít podmínku
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Username
- Člen | 36
Ahoj, v čem dělám chybu v následujícím dotazu do databáze? Když odstraním ->where tak dotaz proběhne v pořádku, ale já potřebuji filtrovat podle kritérií, která jsou v ->where. Díky za pomoc.
<?php
$this->template->muzi = $this->database->table('vysledky')
->where('YEAR(turnaje.zacatek) = ? AND ucastnici.pohlavi_jako_id = ?', $this->rok, 1)
->group('ucastnici_id')
->select('SUM(celkem) AS celkem_sum, ucastnici_id')
->order('celkem_sum DESC');
?>
- Username
- Člen | 36
Měl bych na vás ještě jeden dotaz, rozšířil jsem dotaz do databáze o COUNT. Je možné COUNT omezit podmínkou >= 160 (tzn. kolik je hodnot ve sloupci celkem >= 160)? díky za pomoc.
$this->template->muzi = $this->database->table('vysledky')
->where('YEAR(turnaje.zacatek) = ? AND ucastnici.pohlavi_jako_id = ?', $this->rok, 1)
->group('vysledky.ucastnici_id')
->select('SUM(celkem) AS celkem_sum, vysledky.ucastnici_id')
->select('COUNT(celkem) AS pocet, vysledky.ucastnici_id')
->order('celkem_sum DESC');
Editoval Username (18. 1. 2017 18:05)
- Username
- Člen | 36
Upravil jsem svůj příspěvek, sloupec celkem obsahuje získaný počet bodů, v SUM sčítám získané body jednotlivých účastníků a rád bych také získal v COUNT kolikrát dosáhl účastník vyššího výsledku než 160 bodů.
CZechBoY napsal(a):
Ten dotaz vůbec nechápu.
Ty chceš počet účastníků a groupuješ to podle účastníka? To snad bude vždy 1, ne?