现在有三种题型,填空,判断,选择.
而且三种题型中再按业务类型分六种随机抽卷出来.
有哪位大侠做过类似的?

解决方案 »

  1.   

    生成一个字符
    构成:一个随机数对应题型,一个随机数对应业务类型,中间字符来分割,
    比如: 3|2
    然后你分析提取对应的类型
    如果你是SQL数据库来的可以有随机函数
    没有的话,就看你的数据表是不是放在一起的,一起的话,就不能再用生成随机数的方法来提取题目了
    思路是这样.......
      

  2.   

    简单的随机抽取 在sql server 中 select top x from table order by newid() 
      oracle 有一个rowid 可以利用
    再复杂点的话,可以在大范围内生成类似(1,2,3)结构的字符串,用order by newid() 结合 in 操作来解决。
      

  3.   

    可以这样:
    如果三种题型中各种题型的题数固定(设为10,10,10)
    那么第一个10题用十次循环,用random
    产生一个1-6间的随机数对应六种业务类型
    第二三个10题类似处理
    -----------------------------
    "六种随机抽卷"你的意思是只有六种样卷??
      

  4.   


    To:nga96() 
    楼上的兄弟行么?
    我们是得到数据后,在客户端随机抽取的。
    ---------------------------------------
    什么叫行吧?简单的随机用newid()效率又高又简单。
    取数据到客户端也只能取ID,你还能把全部数据都取回来?网页上会搞死人的。
    另,做随机抽取关键是算法要合理。
      

  5.   

    用select top n * from tablename order by newid()速度是最快的。
      

  6.   

    使用随机排序就可以了:
    MS Sql:select top 10 * from table1 order by newid()
    MySql: select * from kind order by rand() limit 0,10