SQLServer获取随机数据

1.比较常见和好用的一种

SELECT TOP 10 *, NEWID() AS random
FROM table
ORDER BY random

--newid函数会随机生成一个guid,很长的一个字符串,我们可以利用它进行随机取数

2.比较快速的一种()

--Declare @d Datetime
--Set @d=getdate()

SELECT Top 1* FROM users
WHERE 0.01 >= CAST(CHECKSUM(NEWID(), uid) & 0x7fffffff AS float) / CAST (0x7fffffff AS int)  -- 这里可以加上条件,如 and uid>10000000

--& 符号表示按二进制位进行与运算,0x7fffffff 表示一个十六进制的数,转化为十进制是2147483647
--Select [语句执行花费时间(毫秒)] = Datediff(ms,@d,Getdate())

绿色注释部分可以查询执行时间,Datediff函数可以返回第二个和第三个参数的时间差,以第一个参数所定义的结果类型为准,如当前是返回以毫秒为单位的时间差

时间: 2024-08-09 02:21:09

SQLServer获取随机数据的相关文章

MySQL查询随机数据的4种方法和性能对比

从MySQL随机选取数据也是我们最常用的一种发发,其最简单的办法就是使用”ORDER BY RAND()”,本文介绍了包括ORDER BY RAND()的4种获取随机数据的方法,并分析了各自的优缺点. 下面从以下四种方案分析各自的优缺点.方案一: 复制代码 代码如下: SELECT * FROM `table` ORDER BY RAND() LIMIT 0,1; 这种方法的问题就是非常慢.原因是因为MySQL会创建一张零时表来保存所有的结果集,然后给每个结果一个随机索引,然后再排序并返回.有几

oracle 与sql serve 获取随机行数的数据

Oracle 随机获取N条数据    当我们获取数据时,可能会有这样的需求,即每次从表中获取数据时,是随机获取一定的记录,而不是每次都获取一样的数据,这时我们可以采取Oracle内部一些函数,来达到这样的目的1) select * from (select * from tablename order by sys_guid()) where rownum < N; 2) select * from (select * from tablename order by dbms_random.va

Atitit.并发测试解决方案(2) -----获取随机数据库记录 随机抽取数据 随机排序 原理and实现

Atitit.并发测试解决方案(2) -----获取随机数据库记录 随机抽取数据 随机排序 1. 应用场景 1 2. 随机抽取数据原理 1 3. 常用的实现方法:::数据库随机函数 1 4. Mssql 的实现 NEWID() 跟rand()  1 5. newid()与rand()的区别 2 6. NEWID() 2 7. 参考 2 1. 应用场景 并发测试 2. 随机抽取数据原理 原理是 循环所有的ID/记录,附加随机函数字段,然后排序as 这个字段.. 3. 常用的实现方法:::数据库随机

sqlserver获取当前id的前一条数据和后一条数据

一.条件字段为数值的情况 select * from tb where [email protected]; --当前记录   select top 1 * from tb where id>@id order by id; --下一条记录   select top 1 * from tb where id<@id order by id desc --上一条记录 二.以排序的思路出发的一种方案 ;WITH TUsers AS (     SELECT *, ROW_NUMBER() OVER

PHP 基于laravel框架获取微博数据之一 模拟新浪微博登录

参考资料:http://www.csuldw.com/2016/11/10/2016-11-10-simulate-sina-login/http://blog.csdn.net/fly_leopard/article/details/51148904http://www.tuicool.com/articles/uIJzYff http://blog.csdn.net/u010029983/article/details/46364113等 模拟新浪微博登录是抓取新浪数据的基础,网上的参考资料

solr与.net系列课程(四)solr查询参数的讲解与.net如何获取solr数据

solr与.net系列课程(四)solr查询参数的讲解与.net如何获取solr数据 上一节我们完成了solr连接数据库,细心的朋友会发现一个问题,就是solr其实和语言没有任何关系,配置完成后任何语言都可以直接调用,本章我们主要对solr的查询做出讲解,然后就是新接触的人最关心的.net如何获取solr中的数据. 本节我准备了一个300万左右的数据表,为大家做演示 然后我们开始配置schema.xml 文件: <field name="id" type="string

SQLServer Temp tables 数据疑问

1. 现象 使用Cacti监控,有关于临时表的一个图形 可以看到正在使用的临时表Active Temp Tables的数量非常大,并且在非工作时间,也维持在400个左右.感觉非常奇怪,所以追查下! 2. 探索 首先,先验证下Cacti数据是否准确,已知Cacti数据是从SQLServer的sys.dm_os_performance_counters 计数器DMV中取数的.所以查询下数据: select * from sys.dm_os_performance_counters where cou

jmeter JDBC Request (查询数据库获取数据库数据) 的使用

JDBC Request 这个Sampler可以向数据库发送一个jdbc请求(sql语句),并获取返回的数据库数据进行操作.它经常需要和JDBC Connection Configuration配置原件(配置数据库连接的相关属性,如连接名.密码等)一起使用. 一.准备工作 1.本文使用的是mysql数据库进行测试,数据库的用户名为root(你自己的用户名),用户名密码为*********(你自己的密码) 2.数据库中有表:test,表的数据结构如下: 表中数据如下: select * from

转jmeter 性能测试 JDBC Request (查询数据库获取数据库数据) 的使用

JDBC Request 这个Sampler可以向数据库发送一个jdbc请求(sql语句),并获取返回的数据库数据进行操作.它经常需要和JDBC Connection Configuration配置原件(配置数据库连接的相关属性,如连接名.密码等)一起使用. 一.准备工作 1.本文使用的是mysql数据库进行测试,数据库的用户名为root(你自己的用户名),用户名密码为*********(你自己的密码) 2.数据库中有表:test,表的数据结构如下: 表中数据如下: select * from