Smyslem agregační funkce (a GROUP BY, kterou vyžaduje) je přeměnit mnoho řádků na jeden řádek. Takže pokud opravdu chcete jen 5 nejlepších spořicích účtů a 5 hlavních účtů s šekem a 5 nejlepších účtů v USD atd., potřebujete spíše toto:
kritéria:top 5 konkrétního typu účtu podle account_balance
SELECT account_type, account_balance FROM accounts WHERE account_type='savings'
ORDER BY account_balance DESC LIMIT 5
UNION
SELECT account_type, account_balance FROM accounts WHERE account_type='chequing'
ORDER BY account_balance DESC LIMIT 5
UNION
SELECT account_type, account_balance FROM accounts WHERE account_type='USD'
ORDER BY account_balance DESC LIMIT 5;
Není to hezké, ale pokud vytvoříte SQL pomocí skriptu, pak vložení do account_types a zřetězení dotazu je přímočaré.