SQLServer随机取记录
SQLServer本身并没有提供随机读取记录的功能,但我们可以通过一些方法来实现这个目的。本文介绍了其中几种方法并比较了各自的优劣。
方法一:
直接通过Sql语句实现,如:
SELECT TOP 100 * FROM BCUSTOMER_MZN
SELECT TOP 100 * FROM BCUSTOMER_MZN ORDER BY NEWID()
这是最简单的方法,通过调用SqlServer的newid()函数(产生GUID—全局唯一标志符)来产生随机记录。
采用这种方法时,需要将表中所有记录与newid()生成的值进行比较从而进行排序。因此,如果表中的记录较多,操作会非常缓慢。
方法二:
假设表中有一个自增长主键,增量为1。这时我们可以这样处理,取出主键的边界值(最大值和最小值),然后通过一个算法得到介于(包括)两个边界之间的随机值,最后按照这个值取出对应记录。
方法三:
对方法二进行了改进。主要思路是,将表中所有的主键值读进一个数组,从数组中随机读出一个值,按照这个值取出对应记录。
SQLServer随机取记录的更多相关文章
- php MySQL使用rand函数随机取记录(转)
		
php MySQL使用rand函数随机取记录 如何在mysql中使用随机数, 如何写一个语句能一下更新几百条MYSQL数据! 需要测试MYSQL数据库,里面有一个上万条数据的数据库,如何写一个PHP文 ...
 - sharepoint列表如何进行随机取几条记录?
		
sharepoint列表如何进行随机取记录?由于itemid是不连续.可能存在删除添加等操作导致 我们可以采用随机取第几条记录.把记录集合取出来.产生随机第几条数.这里关键是如何产生不重复的随机数 方 ...
 - 从SQLSERVER/MYSQL数据库中随机取一条或者N条记录
		
从SQLSERVER/MYSQL数据库中随机取一条或者N条记录 很多人都知道使用rand()函数但是怎麽使用可能不是每个人都知道 建立测试表 USE [sss] GO ,NAME ) DEFAULT ...
 - 随机取若干条记录的SQL语句
		
原文:随机取若干条记录的SQL语句 MySql中随机提取数据库N条记录 select * from TableName order by rand() limit N SQLServer中随机提取 ...
 - SQL语句:随机取3条不重复的记录
		
随机取3条不重复的记录 [Access]select top 3 * from tablename order by rnd(id); [SqlServer]select top 3 * from t ...
 - 【转】oracle 中随机取一条记录的两种方法
		
oracle 中随机取一条记录的两种方法 V_COUNT INT:=0; V_NUM INT :=0; 1:TBL_MYTABLE 表中要有一个值连续且唯一的列FID BEGIN SELECT COU ...
 - oracle通过sql随机取表中的10条记录
		
oracle通过sql随机取表中的10条记录: SELECT * FROM (SELECT * FROM T_USER ORDER BY DBMS_RANDOM.RANDOM()) WHERE Row ...
 - 如何从mysql数据库中取到随机的记录
		
如何从mysql数据库中取到随机的记录 一.总结 一句话总结:用随机函数newID(),select top N * from table_name order by newid() ----N是一个 ...
 - sql语句实现随机取n条数据(转)
		
我想把数组打乱随机取些值,于是用PHP的shuffl()打乱数组,当然,array_rand()也是可以随机取数组的,但是我想到另一个更高效的办法,是不是能用sql直接随机数据?当然可以! mysql ...
 
随机推荐
- ComBSTR的使用
			
用 CComBSTR 进行编程 Visual Studio .NET 2003 3(共 3)对本文的评价是有帮助 - 评价此主题 ATL 类 CComBSTR 提供对 BSTR 数据类型的包装 ...
 - 混淆和加密.NET开发工具
			
.NET开发的工具,可以用ILSpy等很轻松的反编译查看源码,为了保护自己写的软件,一般会对软件进行加密,不仅内部关键数据通过加密,软件开发完毕后,对软件也进行加密,防止别人很轻松的反编译和查看到比较 ...
 - Bootstrap 网格系统(Grid System)的工作原理 - 媒体查询
			
媒体查询 媒体查询是非常别致的"有条件的 CSS 规则".它只适用于一些基于某些规定条件的 CSS.如果满足那些条件,则应用相应的样式. Bootstrap 中的媒体查询允许您基于 ...
 - Air Jordan 1 Los Primeros Will be unveiled
			
This new pair of Air Jordan 1 Los Primeros is part of the popular Air-Jordan- Line signature and is ...
 - python直接赋值、浅拷贝和深拷贝
			
# 解: # import copy # names1=['Amir','Barry','Cgakes','Dao',[11,22,33]] # names2=names1#直接赋值,指向同一个对象 ...
 - Manacher 计算最长回文串
			
转自 http://blog.sina.com.cn/s/blog_3fe961ae0101iwc2.html 寻找字符串中的回文,有特定的算法来解决,也是本文的主题:Manacher算法,其时间复杂 ...
 - DIV内容垂直居中
			
css垂直居中属性设置vertical-align: middle对div不起作用,例如: <!DOCTYPE html> <html lang="zh-CN"& ...
 - TED #10# A rite of passage for late life
			
Bob Stein: A rite of passage for late life Collection I grew up white, secular and middle class in 1 ...
 - SQL学习之Can't connect to MySQL server on localhost (10061)
			
最近升级 了系统,开机后连接MySQL报错,Can't connect to MySQL server on localhost (10061): 估计是升级系统清除了以前的缓存设置,网上很多方法是命 ...
 - Nginx 灰度实现方式(支持纯灰度,纯生产,50度灰及更多比例配置)
			
前言 Nginx相关技术短信本篇幅不做详细介绍,所以学习本文之前要对Nginx有相关的了解. 生产环境即线上环境,在经历开发.测试再到上线,不可避免的会更新生产环境,但谁又能保证测试过的代码到线上运行 ...