sql >> Databasteknik >  >> RDS >> Mysql

MySQL:hur man får x antal resultat per gruppering

Prova den här frågan -

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

Den kommer att visa de första 5 objekten per kategori. Avkommentera LIMIT 20 om du behöver. Gå med i Categories bord om du behöver.



  1. Hur SID skiljer sig från tjänstens namn i Oracle tnsnames.ora

  2. Hibernate 5 :- org.hibernate.MappingException:Okänd enhet

  3. Anslutningssträngsparametrar för Excel-datakällor

  4. Hur använder man nyckelordet "som" för att alias en tabell i Oracle?