Выборка случайных записей по не уникальному полю

Igor aka TiGR

Новичок
Выборка случайных записей по не уникальному полю

Извините за сумбурность названия темы, не знаю как коротко сформулировать проблему.

Короче, есть таблица в которой хранятся товары. В этой таблице (из интересующего нас в данной ситуации) есть артикул (уникальное) и производитель (не уникальное).

Имеется список нужных производителей. Как вытащить одним запросом по одному случайному товару от каждого производителя из списка?

[sql]SELECT code FROM items WHERE manufactorer IN(1,2,3,4,5) ORDER BY RAND() LIMIT 5[/sql]

Не катит, т.к. делает совсем не то.
 

Igor aka TiGR

Новичок
Странно, теперь сработало... Хотя пробовал с group by - не получалось.

Спасибо! :)

-~{}~ 28.08.06 14:41:

Хм... Выборка получается. Но не случайная. Берёт первые попавшиеся значения. ORDER BY RAND() не имеет никакого эффекта (только меняет порядок выборки, но не её состав).
 

Igor aka TiGR

Новичок
Что-то я сегодня торможу... Вроде простое дело. Сделал с подзапросом, без UNION. Там итак запрос получается нехилый.

Всем спасибо :)
 
Сверху