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 шт):

Автор решения: Akina
SELECT *
FROM ( SELECT *
       FROM questions
       ORDER BY RAND() LIMIT 2 ) q
JOIN answers a ON a.id_question = q.id
→ Ссылка
Автор решения: Gordon

Как написать sql запрос чтоб вытащить 2 рандомных вопроса со всеми его ответами?

Так с SQL не работают. limit всего лишь ограничивает выдачу (количество строк в результате запроса).

Нужно либо получить из БД все вопросы и выбрать два случайно. Либо для вопросов сделать ключевое поле и забирать из таблицы вопросы по конкретным ключам, предварительно случайно выбрав ключи.

→ Ссылка