sql >> Databáze >  >> RDS >> Mysql

limit mysql uvnitř skupiny?

Smyslem agregační funkce (a GROUP BY, kterou vyžaduje) je přeměnit mnoho řádků na jeden řádek. Takže pokud opravdu chcete jen 5 nejlepších spořicích účtů a 5 hlavních účtů s šekem a 5 nejlepších účtů v USD atd., potřebujete spíše toto:

kritéria:top 5 konkrétního typu účtu podle 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;

Není to hezké, ale pokud vytvoříte SQL pomocí skriptu, pak vložení do account_types a zřetězení dotazu je přímočaré.



  1. Chyba připraveného příkazu Java MYSQL:Zkontrolujte syntaxi, kterou chcete použít poblíž '?' na řádku 1

  2. Uncaught TypeError nemůže volat metodu 'opendatabase' nedefinovaného pluginu SQLite s cordova 3.5

  3. Vesmírné tipy

  4. Datové typy Oracle