jerrynet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 

  -- 单个随机数

    select RAND(5)

    select RAND()

 

    SELECT ABS(CHECKSUM(NEWID())) % 1000 + 1;

 

 

-- 查询结果中增加一个随机数列

    select top 10

       floor( RAND()*100 ) NoRand --所有行相同

       ,floor( RAND(spid*10000)*100 ) NoRand2 -- 行间值不同,但多次查询会得到相同的结果

       ,ABS(CHECKSUM(NEWID())) % 100 + 1 as RandNums --每次查询之间、行之间均随机

       ,*

    from sys.sysprocesses

  

    

-- 每个loginame随机取条记录

    ;with t_login as

    (   

       select distinct loginame from sys.sysprocesses    

    )

    select l.loginame,R.spid

    from t_login l

     cross apply

       (select top(3) spid,loginame

        from sys.sysprocesses as s

        where s.loginame=l.loginame

        ORDER BY CHECKSUM(NEWID())

       ) as R

    Order by l.loginame  

 

posted on 2010-08-25 17:06  Jerrynet  阅读(259)  评论(0编辑  收藏  举报