sql >> Databasteknik >  >> RDS >> Mysql

Välj slumpmässiga rader i mysql och begränsa inom varje grupp

Så du behöver 7 slumpmässiga poster för varje produkttyp (7 * 12 poster). Vid första anblicken letar du bara efter ett fackförbund.

(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)

Om du behöver beställa hela resultatuppsättningen kan du använda en ORDER BY sats efter hela UNION .




  1. JPA:MySQL säger att tabeller inte existerar, men det finns faktiskt

  2. Django queryset-objekt returnerar Inget istället för 0 även om databasen har 0 lagrat som fältvärde

  3. PHP asynkron metodanrop i Yii-ramverket

  4. Hur kan jag lösa ORA-00911:fel med ogiltiga tecken?