Как вывести из БД 10 случайных товаров, исключив повторяющиеся?
$result = mysql_query("SELECT *
FROM `tovar` ORDER BY RAND()
LIMIT `10`",$db);
Спасибо за помощь!
$result = mysql_query("SELECT *
FROM `tovar` ORDER BY RAND()
LIMIT `10`",$db);
Цитата (Winston @ 20.06.2013 - 23:45) |
Перед LIMIT добавить GROUP BY `field` Вместо field подставь имя поля, в котором есть повторяющиеся данные |
SELECT *
FROM (SELECT `id`, `gid`,`price`, `photo` FROM `order_group` WHERE `subscribers` > `entered`
and `order_group`.`id` not in ((select `order_group_person`.`id_order` from `order_group_person` where `order_group_person`.`id_user` = $id))
and `order_group`.`gid` not in ((select `order_group_person`.`id_club` from `order_group_person` where `order_group_person`.`id_user` = $id))
ORDER BY RAND() LIMIT 8) AS t
ORDER BY `price` DESC
Цитата (Winston @ 20.06.2013 - 23:45) |
Перед LIMIT добавить GROUP BY `field` Вместо field подставь имя поля, в котором есть повторяющиеся данные |
SELECT *
FROM (SELECT `id`, `gid`,`price`, `photo` FROM `order_group` WHERE `subscribers` > `entered`
and `order_group`.`id` not in ((select `order_group_person`.`id_order` from `order_group_person` where `order_group_person`.`id_user` = $id))
and `order_group`.`gid` not in ((select `order_group_person`.`id_club` from `order_group_person` where `order_group_person`.`id_user` = $id))
ORDER BY RAND() LIMIT 8) AS t
GROUP BY `gid` ORDER BY `price` DESC