类似抽奖那样,比方说表中存放着100条奖品信息,表结构 id (int) not null 、code (nvarchar)、zhuangtai (bit) 默认0 当点击按钮抽奖,一点击按钮就触发SQL 查询语句....得到的结果是你没抽中或者是恭喜你抽中了什么....因为表中的数据很少,最好是抽取很多次都抽不到奖...这样的SQL语句怎么写...谢谢好心人帮下忙

解决方案 »

  1.   

    select top 1 * from tb order by newid()然后根据查询到的数据判断是否得奖了.
      

  2.   

    最好是抽取很多次都抽不到奖?假设有个字段,标记改记录是否得奖,假设为1得奖.那么想多次都抽不到奖,加加上条件去选.例如:
    select top 1 * from tb where flag <> 1 order by newid那么,怎么也抽不到奖.
    运行了多次后,再运行:select top 1 * from tb order by newid这样就可能抽到奖
      

  3.   

    2楼的newid -- > newid()
      

  4.   

    order by newid()是随机选取。。
      

  5.   

    学习了,那在Access中,怎么随机抽取100条数据呢?查询怎么写?
      

  6.   

    可以這樣用 
    CREATE TABLE #T(id int not NULL IDENTITY,code NVARCHAR(50),zhuangtai bit)
    INSERT INTO #T SELECT '1等獎',0
    INSERT INTO #T SELECT '2等獎',0
    INSERT INTO #T SELECT '3等獎',0--假如:100,機率3%(表有3個記錄)
    UPDATE  #T 
    SET zhuangtai=1
    WHERE ID= ABS(CHECKSUM(NEWID()))%100