mysql запрос limit
Стоит задача, есть 2 таблицы вопросы и ответы(questions, answers) надо вытащить рандомно из 10 вопросов 2 вопроса со всеми ответами(ответов может быть 5 или 4 или 6)
select from ( select from answers ) a, questions q where a.id_question = q.id limit 1
сделал такой запрос но он выдает 1 вопрос и только 1 ответ а у этого вопроса 5 ответов. Как написать sql запрос чтоб вытащить 2 рандомных вопроса со всеми его ответами?
Ответы (2 шт):
SELECT *
FROM ( SELECT *
FROM questions
ORDER BY RAND() LIMIT 2 ) q
JOIN answers a ON a.id_question = q.id
Как написать sql запрос чтоб вытащить 2 рандомных вопроса со всеми его ответами?
Так с SQL не работают. limit всего лишь ограничивает выдачу (количество строк в результате запроса).
Нужно либо получить из БД все вопросы и выбрать два случайно. Либо для вопросов сделать ключевое поле и забирать из таблицы вопросы по конкретным ключам, предварительно случайно выбрав ключи.