1.10 从表中随机返回n条记录

问题:

从表中获取特定数量的随机记录

解决方案:

利用top子句与order by newid()配合,实现从表中获取N条随机记录

select top 5 ename,job from emp order by newid();

【说明】

在MSSQL中函数newid():

  1. newid()函数产生一个全球唯一的标识,该标识是由网卡号、CPU时钟组成,从而保证该函数调用的返回值是唯一的。

  2. 该函数的返回值类型为uniqueidentifier类型,该类型必须与newid函数配合使用。

newid函数的用途:

正是由于uniqueidentifier的唯一性,我们通常用uniqueidentifier类型作为表的主键类型,通过newid函数为该类型字段新增或者更新值。

【举例】

create table test
(
	id uniqueidentifier primary key,
	name varchar(20)
)

插入新的数据:

查询数据:

结果:

最后更新于