我这里有一个情况: 我正在制作一个随机在线试卷系统,用户可以选择从 0 到 5 的难度级别。这里是 Free anime streaming apps .
我的问题表中有大约 16k 条记录,每个问题都有从 0 到 5 的难度级别。 现在我需要的是从 16k 记录中随机抽取 10 个问题,难度由用户选择。
SELECT question,id from questions where difficulty = '5'
这工作正常,但有一种情况,难度为 5 的问题少于 10 个。在这种情况下,我需要选择难度为 4 的其他问题,如果再次没有难度为 4 的问题,那么它必须检索难度级别为 3 的问题,依此类推,使 10 个问题对用户可见。
我该怎么办?我需要一个 SQL 查询! 谢谢
最佳答案
SELECT question,id
from questions
order by difficulty = 5 desc,
difficulty desc,
rand()
limit 10
关于mysql - 选择难度递减的随机问题行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27939896/