Код: Выделить всё
SELECT t2.id_gr, t2.name_group, t2.description
FROM groups_contents AS t1
inner JOIN groups AS t2
ON t1.id_gr = t2.id_gr
WHERE t1.id_co = ?
LIMIT 10
как сделать чтобы было 10 случайных записей?
таблицы не маленькие...
нашел аналогичные темы:
http://forum.vingrad.ru/forum/topic-119426/0.html
http://forum.vingrad.ru/forum/topic-133667/0.html
http://jan.kneschke.de/projects/mysql/order-by-rand/
но не понял как сделать в моем случае...
ещё один способ:
Предположим надо выбрать из таблицы "cooccurrences" 2 случайных записей.
$cnt нам известен,. Скриптом генерим два случайных числа rand()%$cnt. предположим получились 15,20
Код: Выделить всё
SELECT * FROM (SELECT @row:=@row+1 as rownum, cooccurrences.* FROM (SELECT @row=0)r,cooccurrences) ranked WHERE rownum IN(15,20)
Получается, что запрос нумерует все записи таблицы и выбирает номера, которые нам нужны. Во многих случаях это должно работать весьма быстро.
но как это сделать для моего запроса?