大家好,我正在寻求一些查询方面的帮助。 我有2张 table
我需要从一个问题中随机获得所有答案。通过查询
Select * From questions,answers WHERE questions.id = answers.iddomanda
结果是完美的,但如果我使用 order by rand,这就是结果。
有没有办法随机得到问题和随机答案? 有点像
id iddomanda question answer
4 4 Come va ? bene
4 4 Come va ? male
1 1 Come ti chiami ? Michele
1 1 Come ti chiami ? Carlo
2 2 Di dove sei? San Salvo
2 2 Di dove sei ? Vasto
3 3 Dove vai ? Lontano
3 3 Dove vai ? Lontanissimo
3 3 Dove vai ? In giro
3 3 Dove vai ? Di la
谢谢帮助
最佳答案
您需要做的就是将问题 ID 随机化,然后像这样加入您的答案。
SELECT t.id, t1.iddomanda, t.question, t1.answer
FROM
( SELECT id, domanda as question
FROM questions
ORDER BY RAND()
) t
LEFT JOIN
( SELECT iddomanda, risposta as answer
FROM answers
) t1 on t1.iddomanda = t.id;
这个查询的好处是你非常简约。问题表将比答案表小得多,所以你只需要随机化一个表和那个较小的表......然后什么时候你加入它会将他们加入到已经随机化的表格中!
关于mysql - 按具有相同 ID 的 rand() 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25385624/