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

MySQL:come ottenere un numero x di risultati per raggruppamento

Prova questa query -

SELECT item_id, item_name, catid FROM 
  (SELECT t1.*, COUNT(*) cnt FROM items t1
    LEFT JOIN items t2
      ON t2.catid = t1.catid AND t2.item_id <= t1.item_id 
  GROUP BY
    t1.catid, t1.item_id
  ) t
WHERE
  cnt < 6
-- LIMIT 20

Mostrerà i primi 5 articoli per categoria. Decommenta LIMIT 20 se hai bisogno. Unisciti a Categories tavolo se necessario.