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

MySQL:cómo obtener x número de resultados por agrupación

Pruebe esta consulta -

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

Mostrará los primeros 5 artículos por categoría. Descomentar LIMIT 20 si necesitas. Únete a Categories mesa si lo necesitas.