alexeyco
Новичок
Случайная выборка из базы данных Postgres
Здравствуйте
Возникла задача сделать следующую вещь:
есть таблица, к примеру | ID | QUESTION | ANSWER
нужно выбрать 1 вопрос, 1 ответ на него и 4 случайных ответа, и вывести - конечно, случайным порядком.
Проблема вот в чем: никак не могу придумать способ, при котором бы полностью ликвидировалась вероятность задвоенных ответов при показе.
-~{}~ 03.07.09 22:09:
Упс, прошу прощения... на работе обгуглился как бешеный, объяндексовался по сабжу... домой пришел, написал этот пост и случайно наткнулся в доках по постгре на такой вот способ:
Пишут, что при огромном количестве записей (более 500 000) подтормаживать начинает. Но у меня в каждой категории вопросов не больше 1 500, так что, скорее всего, проканает. Пойду тестировать.
Здравствуйте
Возникла задача сделать следующую вещь:
есть таблица, к примеру | ID | QUESTION | ANSWER
нужно выбрать 1 вопрос, 1 ответ на него и 4 случайных ответа, и вывести - конечно, случайным порядком.
Проблема вот в чем: никак не могу придумать способ, при котором бы полностью ликвидировалась вероятность задвоенных ответов при показе.
-~{}~ 03.07.09 22:09:
Упс, прошу прощения... на работе обгуглился как бешеный, объяндексовался по сабжу... домой пришел, написал этот пост и случайно наткнулся в доках по постгре на такой вот способ:
Код:
SELECT id, answer FROM table WHERE id <> '[ID уже имеющегося вопроса]' ORDER BY RANDOM() LIMIT 4