如我想从 table1 中读取10条纪录,但又不按顺序读取,而时从所有纪录中随机读取10条,那么应该怎样实现 ?

解决方案 »

  1.   

    我的是 MS sql server
    做的是一个题库,老师要从中选出一定数量的题目,生成试卷,
    但要随机选取,那么应该怎样实现,是从 sql语句着手还是从其他方面着手 ?
      

  2.   

    有没有具体的实现方法阿?
    题目编号是有阿,从 1 一直排下去。
    如果先得到随机数,那不是一个一个题目 select 下去?
    十来条纪录可能没所谓,但要是一百多条的随机纪录读取的话那不是要select  一百多次?
    好像不太方便吧
      

  3.   

    多学点SQL知识吧。
    select 题目号,题目标题 from tbl题目 where 题目号 in (1,6,5,.....)
    注:(1,6,5,.....)怎么得来:可以用一个字符串拼接起来。
    应该有数了吧
        
      

  4.   

    你可以先产生十个随机数,然后在 SQL里设置参数,
    Select * from table1
    where No in (':parma1',':param2',.......   )
    这样可以一下子全抓出来,不过你要写不少参数哦。
    或者写个循环,一次抓一条,多抓几次,数据库多做点啦。
      

  5.   

    可以借鉴一下这个
    http://www.delphiboy.com/cgi-bin/doc/datacontent.php?no=349
      

  6.   

    你的存放题目的表建立一个字段:题目编号
    你得到一系列不重复的随机整数,然后根据这些随机数到数据里面找"题目编号"等于随机数的记录即可.同意。也同意select 题目号,题目标题 from tbl题目 where 题目号 in (1,6,5,.....)