El punto de una función de agregado (y el GROUP BY requiere) es convertir muchas filas en una fila. Así que si lo que realmente quieres los mejores cuentas de ahorro y 5 de los 5 mejores cuentas corrientes y cuentas de los 5 mejores USD etc., lo que necesita es de la misma familia:
criterios: top 5 de especial tipo de cuenta por 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;
No es bonito, pero si construye el SQL con un guión, entonces subplancar en los tipos de cuenta y concatenar juntos una consulta es directa.
Creo que lo que quieres es un 'orden', no un' grupo'. Desea enumerar hasta 5 de cada tipo de cuenta, ¿verdad? – Plutor
sí, ¿cómo lograr eso? – omg
Just By The Way, debe poner el límite al final de la consulta. –