sql >> Base de Datos >  >> RDS >> Mysql

límite de mysql dentro del grupo?

El objetivo de una función agregada (y el GROUP BY que requiere) es convertir muchas filas en una fila. Entonces, si realmente solo quiere las 5 cuentas de ahorro principales, las 5 cuentas corrientes principales y las 5 cuentas principales en USD, etc., lo que necesita es más como esto:

criterios:los 5 primeros de un tipo de cuenta en particular 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 construyes el SQL con una secuencia de comandos, sustituir los tipos de cuenta y concatenar una consulta es sencillo.