开发者社区 问答 正文

在MySQL中选择随机行?mysql

我正在开发一个测验网站,并且我有一个存储所有问题的数据库。测验有不同类型,例如数学,科学,历史等。所有问题都存储在一个表中。

我的问题表如下所示:

questions ( qno(int) ,type(int), question, .... ,... ) qno是主键,type用于跟踪测验类型。

if type = 1 (math) type = 2(science) 现在,我想为每种测试选择一些随机问题。例如,我可能只想为数学测试选择一些随机的20个问题。

MySQL有某种方式选择随机行吗?

展开
收起
保持可爱mmm 2020-05-17 14:13:53 456 分享 版权
1 条回答
写回答
取消 提交回答
  • 您可以rand在MySQL中使用该函数对行进行排序,然后将排在前10位(或您想要的很多)limit。

    select * from table order by rand() limit 10 如果只需要数学问题:

    select * from table where type = 1 order by rand() limit 10来源:stack overflow

    2020-05-17 14:14:57
    赞同 展开评论