新手电脑网's Archiver

syziy 发表于 2008-10-4 21:32

sqlserver取随机数

1、在编写随机出卷系统时,用到随机抽出题库中的N道题目,方法很多,有人使用随机函数等等,P Hv2I"J,S k*z
一条sql语句搞定:J2iV];DE
select top 30 * from test order by newid()
l?g$d)Tl,H4X6i6| order by newid():随机产生id号,然后根据id号排序;:] aSY:b"gH
top 30:前30道题目。
c6{s![)u"o}
ms:j ^Oxz8T\ 2、在排名次时,经常遇到取前10名,但刚好第11名(12、13...)的成绩和第10名的一样,\~B#z cRF
我们必须也把后面成绩相同的也提取出来,
!EV`G0n"J%G2{ 用下面的sql语句搞定:
S.mfS ?0f,D3Z o select top 10 with ties grade,name from result order by grade
L-q+J W1Y4kkXj5D 实现读出第11、12...的核心语句是with ties

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.