SQL 随机查询 包括(sqlserver,mysql,access等)
Select TOP N * From TABLE Order By NewID()
NewID()函数将创建一个 uniqueidentifier 类型的唯一值。上面的语句实现效果是从Table中随机读取N条记录。
Access:
Sql代码
代码如下:
Select TOP N * From TABLE Order By Rnd(ID)
Rnd(ID) 其中的ID是自动编号字段,可以利用其他任何数值来完成,比如用姓名字段(UserName)
Sql代码
代码如下:
Select TOP N * From TABLE Order BY Rnd(Len(UserName))
Select * From TABLE Order By Rand() Limit 10
select * from glxt022 order by random() limit 5
相关推荐
-
MySQL取出随机数据
他们原来都想用PHP的实现随机,但取出多条好像要进行两次以上查询. 翻了手册,找到了下面这个语句,可以完成任务了,但效率较低 SELECT * FROM table_name ORDER BY rand() LIMIT 5; rand在手册里是这么说的: RAND() RAND(N) 返回在范围0到1.0内的随机浮点值.如果一个整数参数N被指定,它被用作种子值. mysql> select RAND(); -> 0.5925 mysql> select RAND(2
-
MySQL中随机生成固定长度字符串的方法
要随机生成字符串代码如下: 在MySQL中定义一个随机串的方法,然后再SQL语句中调用此方法. 随机串函数定义方法: 复制代码 代码如下: CREATE DEFINER=`root`@`localhost` FUNCTION `rand_string`(n INT) RETURNS varchar(255) CHARSET latin1 BEGIN DECLARE chars_str varchar(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGH
-
mysql获取随机数据的方法
1.order by rand()数据多了极慢,随机性非常好,适合非常小数据量的情况. 复制代码 代码如下: SELECT * FROM table_name AS r1 JOIN (SELECT (ROUND(RAND() * (SELECT ABS(MAX(id)-MIN(id)-$limit) FROM table_name))+(SELECT MIN(id) from table_name)) AS id) AS r2 WHERE r1.id >= r2.id ORDER BY r1.i
-
从MySQL数据库表中取出随机数据的代码
MySQL 如何从表中取出随机数据 以前在群里讨论过这个问题,比较的有意思.mysql的语法真好玩. 他们原来都想用PHP的实现随机,但取出多条好像要进行两次以上查询. 翻了手册,找到了下面这个语句,可以完成任务了 SELECT * FROM table_name ORDER BY rand() LIMIT 5; rand在手册里是这么说的: RAND() RAND(N) 返回在范围0到1.0内的随机浮点值.如果一个整数参数N被指定,它被用作种子值. mysql> select RAND
-
MySQL查询随机数据的4种方法和性能对比
下面从以下四种方案分析各自的优缺点.方案一: 复制代码 代码如下: SELECT * FROM `table` ORDER BY RAND() LIMIT 0,1; 这种方法的问题就是非常慢.原因是因为MySQL会创建一张零时表来保存所有的结果集,然后给每个结果一个随机索引,然后再排序并返回.有几个方法可以让它快起来.基本思想就是先获取一个随机数,然后使用这个随机数来获取指定的行.由于所有的行都有一个唯一的id,我们将只取最小和最大id之间的随机数,然后获取id为这个数行.为了让这个方法当id不
-
MySQL 随机函数获取数据速度和效率分析
在mysql中带了随机取数据的函数,在mysql中我们会有rand()函数,很多朋友都会直接使用,如果几百条数据肯定没事,如果几万或百万时你会发现,直接使用是错误的.下面我来介绍随机取数据一些优化方法. SELECT * FROM table_name ORDER BY rand() LIMIT 5; rand在手册里是这么说的: RAND() RAND(N) 返回在范围0到1.0内的随机浮点值.如果一个整数参数N被指定,它被用作种子值. mysql> select RAND(); -> 0.
-
MYSQL随机抽取查询 MySQL Order By Rand()效率问题
要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1. 但是,后来我查了一下MYSQL的官方手册,里面针对RAND()的提示大概意思就是,在ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描.但是在MYSQL 3.23版本中,仍然可以通过ORDER BY RAND()来实现随机. 但是真正测试一下才发现这样效率非常低.一个15万余条的库,查询5条数据,居然要8秒
-
数据库查询排序使用随机排序结果示例(Oracle/MySQL/MS SQL Server)
Oracle查询结果集,随机排序 复制代码 代码如下: select * from table1 order by dbms_random.value(); MySQL随机查询出一条记录: 复制代码 代码如下: -- 下面的查询语句效率高,不要使用 SELECT * FROM table1 ORDER BY rand() LIMIT 1 来查询 SELECT * FROM table1 WHERE id=(SELECT id FROM table1 ORDER BY rand() LIMIT 1
-
php随机取mysql记录方法小结
本文实例总结了php随机取mysql记录方法.分享给大家供大家参考.具体分析如下: 在php中要随机取mysql记录我们可以直接使用mysql_query来执行mysql中的select rand函数获取的数据并读出来,这里就来给大家简单介绍一下. 方法一,代码如下: 复制代码 代码如下: select * from tablename order by rand() limit 1 把 limit 后面的数值改为你想随机抽取的条数,这里只取一条. 方法二,代码如下: 复制代码 代码如下: $q
-
mysql随机查询若干条数据的方法
在mysql中查询5条不重复的数据,使用以下: 复制代码 代码如下: SELECT * FROM `table` ORDER BY RAND() LIMIT 5 就可以了.但是真正测试一下才发现这样效率非常低.一个15万余条的库,查询5条数据,居然要8秒以上搜索Google,网上基本上都是查询max(id) * rand()来随机获取数据. 复制代码 代码如下: SELECT * FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MAX
随机推荐
- js 中rewrap-ajax.js插件实例代码
- PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
- android计时器,时间计算器的实现方法
- PHP的Laravel框架结合MySQL与Redis数据库的使用部署
- Bootstrap Metronic完全响应式管理模板学习笔记
- dos环境下修改ip地址
- Java遍历Map键、值和获取Map大小的方法示例
- jquery实现全选和全不选功能效果的实现代码【推荐】
- javascript 表单的友好用户体现
- Nginx防盗链的配置方法
- C#实现用栈求逆序的方法示例
- Java线程监听,意外退出线程后自动重启的实现方法
- PHP5中MVC结构学习
- Android ProgressDialog的实例详解
- 91files免费网络硬盘存储空间_单个文件最大支持100M
- 详解如何在React组件“外”使用父组件的Props
- 浅谈Springboot整合RocketMQ使用心得
- Android多边形区域扫描线种子填充算法的示例
- 通过JS运行机制的角度说说作用域
- CentOS 7 安装 Jenkins过程详解