Poängen med en aggregatfunktion (och den GROUP BY som den kräver) är att förvandla många rader till en rad. Så om du verkligen bara vill ha de 5 bästa sparkontona och de 5 bästa checkkontona och de 5 bästa USD-kontona etc., vad du behöver är mer så här:
kriterier:topp 5 av en viss kontotyp efter 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;
Det är inte snyggt, men om du konstruerar SQL med ett skript är det enkelt att prenumerera på account_types och sammanfoga en fråga.