Het punt van een aggregatiefunctie (en de GROUP BY die daarvoor nodig is) is om van veel rijen één rij te maken. Dus als je echt alleen de top 5 spaarrekeningen en de top 5 betaalrekeningen en de top 5 USD-rekeningen enz. wilt, dan heb je meer als dit nodig:
criteria:top 5 van een bepaald accounttype per 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;
Het is niet mooi, maar als je de SQL construeert met een script, is het eenvoudig om de account_types in te voeren en een query aan elkaar te koppelen.