URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 4545
[ Назад ]

Исходное сообщение
"Помогите составить sql запрос (MySQL)"

Отправлено novachok , 06-Дек-06 10:07 
есть таблица:
-------------------------
| id | title | category |
-------------------------

в ней есть определенное количесвто категорий,

задача состоит в том: как написать такой запрос, чтобы из каждой категории выбиралась случайным образом 1 запись.
т.е. если в таблице будут записи:
1 - bla 1 - 1
2 - bla 2 - 1
3 - bla 3 - 2
4 - bla 4 - 2

и при запросе один раз выдавались бы записи (к примеру) 1,3, другой 1,4 или 2,3 т.д.


Содержание

Сообщения в этом обсуждении
"Помогите составить sql запрос (MySQL)"
Отправлено idle , 06-Дек-06 20:04 
>есть таблица:
>-------------------------
>| id | title | category |
>-------------------------
>
>в ней есть определенное количесвто категорий,
>
>задача состоит в том: как написать такой запрос, чтобы из каждой категории
>выбиралась случайным образом 1 запись.
>т.е. если в таблице будут записи:
>1 - bla 1 - 1
>2 - bla 2 - 1
>3 - bla 3 - 2
>4 - bla 4 - 2
>
>и при запросе один раз выдавались бы записи (к примеру) 1,3, другой
>1,4 или 2,3 т.д.
SELECT ... FROM my_table ORDER BY RAND() LIMIT 1;
http://dev.mysql.com/doc/refman/4.1/en/select.html


"Помогите составить sql запрос (MySQL)"
Отправлено novachok , 07-Дек-06 13:50 
>SELECT ... FROM my_table ORDER BY RAND() LIMIT 1;
>http://dev.mysql.com/doc/refman/4.1/en/select.html

Вы меня не совсем верно поняли, как случайным образов выбрать одну запись - я знаю.

мне нужно случайным образом выбрать по 1 записи из каждой категории, я делал запрос:
SELECT ........ FROM my_table GROUP BY category ORDER BY RAND();

но такой запрос выбирает последние внесенные записи из каждой категории и потом их рандомайзит, т.е. мешает местами. А мне нужно чтобы случайно выбирались из каждой категории.