示例:以一个系统表spt_values中type='p'作为数据源,对number字段值0-2047进行随机排序。图一为数据源

【SQL】按某一个字段进行随机排序_随机

随机排序使用newid()函数,分别执行3次,得到完全随机的3次结果

SELECT number FROM master..spt_values WHERE TYPE='P' ORDER BY NEWID()

【SQL】按某一个字段进行随机排序_字段_02                         【SQL】按某一个字段进行随机排序_字段_03                           【SQL】按某一个字段进行随机排序_sql脚本_04

那我们假设公司员工20人,随机抽奖3位获奖员工时,可以每个人发放1-20的号牌,然后我们在上述的SQL脚本中再加一个条件,取1-20之间3个数字来实现

SELECT TOP 3 number FROM master..spt_values WHERE TYPE='P' AND number BETWEEN 1 AND 20 ORDER BY NEWID()

【SQL】按某一个字段进行随机排序_sql脚本_05