Potřebujete tedy 7 náhodných záznamů pro každý typ produktu (7 * 12 záznamů). Na první pohled jen hledáte spojení.
(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)
Pokud potřebujete objednat celou sadu výsledků, můžete použít ORDER BY
klauzule za celým UNION
.