Mysql
 sql >> Database >  >> RDS >> Mysql

limite mysql all'interno del gruppo?

Il punto di una funzione di aggregazione (e del GROUP BY che richiede) è trasformare molte righe in una riga. Quindi, se vuoi davvero solo i primi 5 conti di risparmio e i primi 5 conti correnti e i primi 5 conti in USD ecc., quello che ti serve è più simile a questo:

criteri:i primi 5 tipi di conto in base a 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;

Non è carino, ma se costruisci l'SQL con uno script, inserire account_types e concatenare insieme una query è semplice.