求助各位高人,小弟急要:要求从Sql中随机取20个数,且每次只取出一个数???

解决方案 »

  1.   


    select cast(rand(datepart(ms,getdate())*1000)*29 as int)+1
      

  2.   

    SELECT ABS(CHECKSUM(NEWID()))%100 --产生100以内的随机数
      

  3.   

    循环rand()   判断有重复的重新生成
      

  4.   


    将这几个数放在一个表中,
    insert into tb 
    --1插入
    select ceiling(rand() * 10) 
    --2查询!
    select top(N) x from tb order by newid()
      

  5.   

    --#1.有重复
    SELECT TOP(20) ABS(CHECKSUM(NEWID()))%100 from master..spt_values
    --#2.无重复
    SELECT DISTINCT TOP(20) ABS(CHECKSUM(NEWID()))%100 from master..spt_values
      

  6.   

    表名:NumGetTable,包括:试题Id(标示)、题目problem、答案answer,表中有123到试题,你给的SELECT ABS(CHECKSUM(NEWID()))%100语句,之前我写的Select top 20 * from NumGetTable order by newid()语句,
    一次把20道题全部随机取出了,我想每次随机取出一道,取20道。
      

  7.   

    Select top 1 * from NumGetTable order by newid()
    --这样好使不?
      

  8.   

    这样的话,jsp页面怎么刷新呢
      

  9.   


    你在代码里写个循环,每次执行
    Select top 1 * from NumGetTable order by newid()
    把它添加到LIST列表中就能实现了.