`

SQL语句如何实现从数据库表中查询随机数据的记录

阅读更多
最近实现的一个系统中,遇到了这样的情况:
需要从数据库表中随机读取n条记录,必须保证每条记录都不相同.

原来的想法是弄两个链表,第一个读取对应数据库表中的所有记录,根据每个记录的ID来生成这个链表;第二个链表是有选定的随机读取的记录生成的,这样从第一个链表中选定的,就可以剪掉,以后就不会被选种,把选中的添加到第二个链表中.

后来发现,在不同的数据库中完全可以用SQL语句来实现随机选定不同记录.
这里把不同数据库实现的语句粘在这里,以供需要的人来参考.

Select a random row with MySQL:

SELECT column FROM table
ORDER BY RAND()
LIMIT 1



Select a random row with PostgreSQL:

SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1



Select a random row with Microsoft SQL Server:

SELECT TOP 1 column FROM table
ORDER BY NEWID()



Select a random row with IBM DB2:

SELECT column, RAND() as IDX 
FROM table 
ORDER BY IDX FETCH FIRST 1 ROWS ONLY



Select a random record with Oracle:

SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1
分享到:
评论

相关推荐

    sql语句收集,常用数据库表操作语句

    根据给定的信息,我们可以总结出一系列重要的SQL语句,这些语句涵盖了数据库操作中的多种常见场景,包括数据查询、数据插入、数据更新与删除等核心功能。下面将对这些SQL语句进行详细解释。 #### 1. 复制表结构及...

    数据库随机查询代码

    这条SQL语句从`RANDTEST`表中随机选取了50条记录的`id`字段。需要注意的是,`GROUP BY ID`在这个例子中似乎没有必要,除非有特定的需求。 ##### 2. 使用`ROW_NUMBER() OVER (ORDER BY NEWID())` 这种方式是另一种...

    SQL随机提取N条记录

    在SQL(Structured Query ...以上就是关于“SQL随机抽取N条记录”的详细解释,这些方法可以帮助你从数据库中获取随机样本,无论是进行数据分析还是其他目的。记住,根据你使用的具体SQL方言,可能需要调整上述代码。

    Access数据库随机抽取记录条数.zip

    本资料"Access数据库随机抽取记录条数.zip"主要关注如何在Access中实现这一功能。 首先,我们要了解SQL(Structured Query Language),这是用于管理关系数据库的标准语言。在Access中,我们可以使用SQL查询来获取...

    sql 数据库使用游标 随机插入数据

    本文介绍了如何在SQL中使用游标进行数据的循环处理以及如何利用RAND()函数生成随机数,并结合游标实现对数据库表中数据的高效随机更新。这种方法不仅可以有效避免重复数据的插入,还能提高数据处理效率。需要注意的...

    SQL 随机抽取数据

    例如,若想从`ywle`表中随机抽取10条记录,则可以执行以下SQL语句: ```sql SELECT TOP 10 * FROM ywle ORDER BY NEWID(); ``` 这段代码会从`ywle`表中随机选取10条记录返回。 ##### 2. 结合WHERE条件进行筛选 ...

    Delphi连接SQL随机显示数据库中的记录..rar

    这个查询将返回`Employees`表的所有记录,但它们的顺序是基于系统生成的唯一标识符(NEWID()在SQL Server中,或者RAND()在某些其他数据库系统中),从而实现随机排序。 4. **绑定数据**:在Delphi中,可以通过...

    ms sql语句怎么样对随机记录进行排序

    内部查询(即括号内的部分)首先从`l_product`表中随机选取100条记录。这里使用了`TOP 100`子句限制返回的记录数量,并且通过`ORDER BY NEWID()`确保这些记录的顺序是随机的。由于`NEWID()`函数每次执行都会生成不同...

    SQL基本查询语句

    基本查询语句是 SQL 语言的基础,用于从数据库中检索数据。常见的基本查询语句有: 1. 筛选数据记录:使用 WHERE 子句来筛选数据记录,例如: ```sql SELECT * FROM 数据表 WHERE 字段名 = 字段值 ORDER BY 字段名 ...

    用SQL语句表与字段的基本操作、数据库备份等

    在本篇内容中,我们将深入探讨如何使用SQL进行表和字段的基本操作,包括添加、删除和修改字段,以及数据库对象的重命名和查询。这些操作对于数据库管理、数据分析以及开发人员来说至关重要。 1. **添加字段**: 要...

    SQL语句参考及记录集对象详解

    ### SQL语句参考及记录集对象详解 #### 一、SQL语句参考 ##### 1. 基础查询 - **全表选择**: `SELECT * FROM 表名 WHERE 条件 ORDER BY 排序字段` - 示例:`SELECT * FROM 表名 WHERE 字段 = '值' ORDER BY 字段...

    SQL批量录入数据到数据库中

    以下是一个基本的插入单条记录的SQL语句: ```sql INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...); ``` 然而,要批量录入数据,我们可以使用多行INSERT语句或者BULK INSERT命令。多行INSERT语句...

    添加一个表,并为其添加4000多个测试数据的sql语句

    在IT行业的数据库管理中,创建表并填充大量测试数据是一项常见的任务,这有助于开发者进行功能测试、性能评估以及系统调优。根据给定的文件信息,我们可以深入探讨以下几个关键的知识点: ### SQL语句创建表 #### ...

    sql语句优化建议

    SQL语句优化是数据库管理与维护中的关键环节,尤其在处理大规模数据集时显得至关重要。优化不仅能够显著提升查询效率,减少资源消耗,还能改善用户体验,确保系统的稳定性和响应速度。然而,SQL优化并非一蹴而就的...

    如何从数据库中随机取出10条记录的方法

    在大多数关系型数据库中,可以通过以下SQL语句实现: ```sql SELECT * FROM (SELECT *, RAND() AS random_number FROM your_table) t ORDER BY random_number LIMIT 10; ``` 这里的关键在于使用`RAND()`函数为每条...

    数据库中表数据生成器SqlDataToScript

    SqlDataToScript是一款轻量级的数据库表数据生成器,主要功能是将已有数据转换成SQL插入语句,以便于在其他环境中快速复制数据或用于测试目的。通过这款工具,我们可以避免手动创建大量测试数据的繁琐工作,提高工作...

    随机得到Access数据库记录

    下面是一个具体的C#示例,展示了如何使用ASP.NET Web应用程序来实现从Access数据库中随机获取记录的功能: ```csharp 随机得到Access数据库记录 void Page_Load(Object src, EventArgs e) { if (!IsPostBack...

    SQL_Sever数据库常用语句大全.zip

    SQL_Sever数据库常用语句大全.zip SQL_Sever数据库常用命令大全.zip power函数获取数值的n次方 round函数保留指定位数小数点(指定位数后四舍五入) sign函数判断正数负数和零 sqrt平方根函数 convert转换数据类型...

    用SQL语句实现随机查询数据并不显示错误数据的方法

    "SQL语句实现随机查询数据并不显示错误数据的方法" 在实际应用中,经常需要从数据库中随机查询一定数量的数据,而不希望显示错误数据。这种需求可以通过使用视图和SQL语句来实现。本文将详细介绍如何使用SQL语句...

    自动生成全国所有省市的sql语句

    在数据库应用开发过程中,往往需要预置一些基础数据来方便后续的数据查询与处理。例如,在构建一个支持用户选择地址的应用时,需要预先将全国各省市的信息录入到数据库中。这种情况下,如果手动输入每一项数据将会...

Global site tag (gtag.js) - Google Analytics