Celem funkcji agregującej (i wymaganej przez nią funkcji GROUP BY) jest przekształcenie wielu wierszy w jeden. Więc jeśli naprawdę chcesz tylko 5 najlepszych kont oszczędnościowych, 5 najlepszych kont czekowych i 5 najlepszych kont w USD itp., potrzebujesz bardziej tego:
kryteria:top 5 danego typu konta według salda_konta
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;
Nie jest to ładne, ale jeśli zbudujesz kod SQL za pomocą skryptu, dopisanie do atrybutów account_types i połączenie ze sobą zapytania jest proste.