如何随机选取n条记录或者对记录作随机排序?

排序|随机

. 如何得到随机排序结果?

A. 要得到随机排序的列,或者返回x条随机选择的列,你可以使用随机数。但是RAND函数在一个查询中只能返回一个结果。你可以在NOWID函数返回的列上做ORDER BY。请看示例:

SELECT *
FROM Northwind..Orders
ORDER BY NEWID()

SELECT TOP 10 *
FROM Northwind..Orders
ORDER BY NEWID()

这段话翻译得真是费劲,干脆不管原文,直接意译了。
不过提醒大家注意,这种方法是要对整个表扫描,然后产生一个计算列再排序的,最好不要对大的表作这样的操作,否则会很慢的。

Q. How can I randomly sort query results?

A. To randomly order rows, or to return x number of randomly chosen rows, you can use the RAND function inside the SELECT statement. But the RAND function is resolved only once for the entire query, so every row will get same value. You can use an ORDER BY clause to sort the rows by the result from the NEWID function, as the following code shows:

SELECT *
FROM Northwind..Orders
ORDER BY NEWID()

SELECT TOP 10 *
FROM Northwind..Orders
ORDER BY NEWID()

—SQL Server MVPs

时间: 2024-09-27 13:13:03

如何随机选取n条记录或者对记录作随机排序?的相关文章

select-asp.net 从Access中随机读取5条记录

问题描述 asp.net 从Access中随机读取5条记录 我用的是 select top 5 * from Pro where TypeId =1 order by rnd(ID) 在数据库查询的时候是随机的5条 每次查询都会变 但是在网页绑定时一直不变总是那几条记录 是什么原因? 解决方案 Asp.net获取Access随机记录ASP.NET 2.0中随机读取Access数据库记录ASP.NET 2.0中随机读取Access数据库记录

asp下sql和access数据库随机取10条记录的代码newid()_应用技巧

MSSQL:select top 10 * from [table] order by newid() ACCESS:  复制代码 代码如下: '以利用rs.move嘛   '如随机取10条   n = 10   '先要判断总记录数是否少于10,若小于10,则有多少取多少 if n>10 rs.recordCount then n=rs.recordCount   dim ranNum   for i = 1 to n   Randomize()   ranNum = int(rs.record

如何从一个dataset里面随机选取若干条记录存到另一个dataset里面?

问题描述 我是从一个表中选取数据存到一个dataset1中,然后如何从dataset中随机选取若干条记录放到dataset2中呢,然后每执行一次操作,就从dataset中删掉刚才从中抽取的dataset2中的所有记录,如何做呢?protectedvoidbtn_Set_Click(objectsender,EventArgse){try{stringsql="selectFK_StatusInfo_Stu_ID,FK_CM_Class_Numfromtbl_XJ_StuInfo";Da

从SQLSERVER/MYSQL数据库中随机取一条或者N条记录

原文:从SQLSERVER/MYSQL数据库中随机取一条或者N条记录 从SQLSERVER/MYSQL数据库中随机取一条或者N条记录 很多人都知道使用rand()函数但是怎麽使用可能不是每个人都知道 建立测试表 USE [sss] GO CREATE TABLE RANDTEST(ID INT DEFAULT RAND()*100,NAME NVARCHAR(200) DEFAULT 'nihao') GO CREATE INDEX IX_RANDTEST_ID ON RANDTEST(ID)

php中通过数组进行高效随机抽取指定条记录的算法_php技巧

php使用数组array_rand()函数进行高效随机抽取指定条数的记录,可以随机抽取数据库中的记录,适合进行随机展示和抽奖程序. 该算法主要是利用php的array_rand()函数,下面看一下array_rand()函数的主要功能: array_rand-从数组中随机取出一个或多个单元 mixed array_rand(array $input[,int $num_req] ) array_rand()在你想从数组中取出一个或多个随机的单元时相当有用.它接受input作为输入数组和一个可选的

C#中从sqlserver数据库中随机提取一条记录并显示在不同的文本框中

问题描述 C#中从sqlserver数据库中随机提取一条记录并显示在不同的文本框中如图 解决方案 解决方案二:SQL:selecttop1姓名,学号,班级from表orderbynewid()C#对应上就好了.

mongodb中随机获取1条记录的实现方法_MongoDB

实现原理如下     1.先查询表中的记录总数     2.随机获取偏移量为0~总记录数-1     3.查询时skip偏移量,再获取1条记录 因本人测试环境php已升级到7.0以上,mongodb扩展使用支持php7.0以上的扩展,很多方法与php5.6不同.因此代码必须在php7.0以上运行.如果是php5.6环境,需要修改代码才能运行. 代码如下: function.php <?php // 连接mongodb function conn($host, $user, $passwd){ $

mongodb 随机获取一条记录的方法_MongoDB

原理: 1.先查询表中的记录总数 2.随机获取偏移量为0~总记录数-1 3.查询时skip偏移量,再获取1条记录 因本人测试环境PHP已升级到7.0以上,mongodb扩展使用支持php7.0以上的扩展,很多方法与php5.6不同.因此代码必须在php7.0以上运行.如果是php5.6环境,需要修改代码才能运行. 代码如下: function.php <?php // 连接mongodb function conn($host, $user, $passwd){ $server = 'mongo

随机提取N条记录 推荐

随机提取10条记录的例子: Sql server: select top 10 * from 表 order by newid() Access: Select top 10 * FROM 表 orDER BY Rnd(id) Rnd(id) 其中的id是自动编号字段,可以利用其他任何数值来完成 比如用姓名字段(UserName) Select top 10 * FROM 表 orDER BY Rnd(len(UserName)) MySql: Select * From 表 order By