Mysql 选择难度递减的随机问题行

Mysql 选择难度递减的随机问题行,mysql,Mysql,我有一个情况: 我正在制作一个随机的在线试题系统,用户可以在其中选择从0到5的难度等级。这是 我的问题表中有大约16k条记录,每个问题的难度等级从0到5。 现在我需要的是从16k记录中随机抽取10道题,难度由用户选择 SELECT question,id from questions where difficulty = '5' 这很好,但有一种情况是,有难度5的问题少于10个。在这种情况下,我需要选择其他难度级别为4的问题,如果再次没有难度级别为4的问题,则必须检索难度级别为3的问题,依此类

我有一个情况: 我正在制作一个随机的在线试题系统,用户可以在其中选择从0到5的难度等级。这是

我的问题表中有大约16k条记录,每个问题的难度等级从0到5。 现在我需要的是从16k记录中随机抽取10道题,难度由用户选择

SELECT question,id from questions where difficulty = '5'
这很好,但有一种情况是,有难度5的问题少于10个。在这种情况下,我需要选择其他难度级别为4的问题,如果再次没有难度级别为4的问题,则必须检索难度级别为3的问题,依此类推,以使10个问题对用户可见

我该怎么办??我需要一个SQL查询!
谢谢

您可能需要从查询中删除难度为'5'。它将仅检索难度为“5”的行。。HEllo@juergend此查询工作正常,但检索难度为5的行时,它不会进行检索。您确定吗?它在检索什么?它给我的行的难度低于5,但不是5。它完全适合我。我刚测试过。如果您仍然认为它不起作用,请编辑您的问题并添加示例数据和您得到的输出。
SELECT question,id 
from questions 
order by difficulty = 5 desc, 
         difficulty desc,
         rand()
limit 10