Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL:So erhalten Sie x Ergebnisse pro Gruppierung

Versuchen Sie diese Abfrage -

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

Es werden die ersten 5 Artikel pro Kategorie angezeigt. Entkommentieren Sie LIMIT 20 wenn Sie brauchen. Tritt Categories bei Tabelle, wenn Sie brauchen.