Mysql Выбор случайной записи в группе

Boris

Новичок
Здравствуйте!
У меня есть компании которые размещают свои товары, у товаров есть один из параметров цвет.
Мне надо выбрать один случайный товар у каждой из 9 первых компаний, цвет которого соответствует запросу.
Вот мой пример запроса в котором я получаю компании и их товары с соответствующим цветом, но как теперь случайным образом выбрать один товар у каждого из 9-ти не знаю, помогите пожалуйста.
Записей будет очень много более 3-4 миллионов
Код:
SELECT products.`uniq_id` , products.id_product, products.article_product, page_up.date_page_up
FROM images_products AS products, products_color AS color, data_page_up AS page_up
WHERE products.uniq_id = page_up.uniq_id
AND products.id_product = color.id_product
AND color.colors_name
IN ( 1, 4, 12, 15 )
GROUP BY products.id_product
ORDER BY page_up.date_page_up DESC
Спасибо
 
Последнее редактирование:

С.

Продвинутый новичок
Задачи с рандомом в SQLнетривиальны и тяжеловесны. Придется чем-то жертвовавть. Либо истиной рандомностю (DISTINCT), либо нагрузкой. Писать такой запрос на SQL обернется кошмаром для базы. Дешевле будет вытащить все, а потом в РНР оставить рандомные.
 

Boris

Новичок
Задачи с рандомом в SQLнетривиальны и тяжеловесны. Придется чем-то жертвовавть. Либо истиной рандомностю (DISTINCT), либо нагрузкой. Писать такой запрос на SQL обернется кошмаром для базы. Дешевле будет вытащить все, а потом в РНР оставить рандомные.
спасибо
 
Сверху