Điểm của một hàm tổng hợp (và GROUP BY nó yêu cầu) là biến nhiều hàng thành một hàng. Vì vậy, nếu bạn thực sự chỉ muốn có 5 tài khoản tiết kiệm hàng đầu và 5 tài khoản chequing hàng đầu và 5 tài khoản USD hàng đầu, v.v., những gì bạn cần là hơn thế này:
tiêu chí:top 5 của loại tài khoản cụ thể theo 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;
Nó không đẹp, nhưng nếu bạn xây dựng SQL bằng một tập lệnh thì việc chèn sub vào account_types và nối với nhau một truy vấn là điều dễ dàng.