Mysql
 sql >> база данни >  >> RDS >> Mysql

Изберете произволни редове в mysql и ограничете във всяка група

Така че имате нужда от 7 произволни записа за всеки тип продукт (7 * 12 записа). На пръв поглед просто търсите съюз.

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

Ако трябва да поръчате целия набор от резултати, тогава можете да използвате ORDER BY клауза след целия UNION .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изберете всички, където [първата буква започва с B]

  2. Възможно ли е да се преброят две колони в една и съща заявка

  3. Как да изтриете дублиращи се редове от MySQL таблица

  4. Избиране на "следващия" ред при определени критерии в MySQL

  5. Използвайте MySQL релационни бази данни в Ubuntu 10.10 (Maverick)