sql >> Database >  >> RDS >> Mysql

Selecteer willekeurige rijen in mysql en beperk binnen elke groep

Je hebt dus 7 willekeurige records nodig voor elk producttype (7 * 12 records). Op het eerste gezicht ben je gewoon op zoek naar een vakbond.

(SELECT * FROM products WHERE product_type_id=1 AND deleted='n' ORDER BY RAND() LIMIT 7)
UNION ALL
(SELECT * FROM products WHERE product_type_id=2 AND deleted='n' ORDER BY RAND() LIMIT 7)
UNION ALL
...
UNION ALL
(SELECT * FROM products WHERE product_type_id=12 AND deleted='n' ORDER BY RAND() LIMIT 7)

Als u de hele resultatenset wilt bestellen, kunt u een ORDER BY . gebruiken clausule na de hele UNION .




  1. MySQL-query met meerdere tabellen die te veel resultaten oplevert

  2. Hoe duur zijn impliciete conversies aan de kolomzijde?

  3. Hoe MySQL automatisch te laden bij het opstarten op OS X Yosemite / El Capitan

  4. Verwijder alle rijen die geen id hebben in een andere tabel