Potrzebujesz więc 7 losowych rekordów dla każdego typu produktu (7 * 12 rekordów). Na pierwszy rzut oka szukasz związku.
(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)
Jeśli chcesz zamówić cały zestaw wyników, możesz użyć ORDER BY
klauzula po całym UNION
.