ORDER BY RAND с получением УНИКАЛЬНЫХ строк - как?

Klaus

SEO Cthulhu
ORDER BY RAND с получением УНИКАЛЬНЫХ строк - как?

структура таблицы

ID | related_ID
-------------------
0 | 2
1 | 3
2 | 2
3 | 4
4 | 4
5 | 3
6 | 6
7 | 6
8 | 2
n..| n..

запрос: SELECT * FROM table WHERE related_ID!=2 ORDER BY RAND() LIMIT 2;

Вопрос как получить не просто две строки, а две строки с уникальными(разными) related_ID ?

так понимаю distinct нельзя применить к одному столбцу, а кроме этого столбца - строки и так уникальны.

MySQL 3.23.58, PHP 4.3.10

P.S. треды все перечитал, нашел только один по этой теме, но к сожалению менять таблицы не могу, только считывать.
 

Klaus

SEO Cthulhu
спасибо, однако как и в том треде, что я привел в пример,
distinct для столбца адресовать нельзя - сразу ошибка.
что так
SELECT *, distinct related_ID FROM .....
что так
SELECT ID, distinct related_ID FROM .....

а указывать
SELECT distinct * FROM FROM .....
нет смысла, так как кроме related_ID строки и так уникальны, соответственно выдает (иногда) строки с одинаковым related_ID
 

MuXa247

Новичок
SELECT * FROM ..... WHERE related_ID IN (SELECT distinct related_ID FROM ..... WHERE related_ID!=2 ORDER BY RAND() LIMIT 2)
попробуй так!
 

Klaus

SEO Cthulhu
MuXa247
спасибо, опробую

пока даже при простом
.. GROUP BY related_ID..
нет совпадений для моего лимита, пытаюсь понять почему :)
 
Сверху