从数据库里随机抽取2条记录
(1)SQL Server 2000 :
SELECT TOP 2 * FROM Exam ORDER BY NEWID()
(2) Access:
-----------------------------------------------------------
转自:http://hi.baidu.com/qingwen98/blog/item/eb82151a68443c118618bfd5.html
从数据库随机抽取记录(ASP/access/ms sql)程序代码
ASP与数据库浏览次数:
在数据库(Access/MS Sql)中随机抽取记录集
随机提取10条记录的例子:
Access(ASP):
sql="Select top 10 * FROM [tableName] orDER BY Rnd(id)"
其中id为自动编号,也可以换成其它数字类型的字段,如果想用非数字类型的字段,就要用到len函数了,语句:
sql="Select top 10 * FROM [tableName] orDER BY Rnd(len(title))"
得出记录如:
这样有个问题,就是生成的记录是不变的,就是不管怎么刷新都是这几条记录,如果想让每刷新一次,记录改变的话,就要用到 ASP中的随机函数,让 id值每次刷新后都重新生成新值,语句:
Randomize
sql="Select top 10 id FROM [tableName] order BY rnd(-(ID+"& rnd() &"))"
刷新两次得出的记录如:
这样,每刷新一次,记录就不相同了。
MS Sql库:
sql库就不用这么麻烦了,一条SQL语句就能产生第次执行这条语句的时候产生不同的随机内容,语句:
sql="select top 10 * from [tablename] order by newid()"
其中,newid为SQL内置函数,
SQL Server 2000:
SELECT TOP n * FROM tanblename ORDER BY NEWID()
Access:
SELECT TOP n * FROM tanblename ORDER BY rnd([一个自动编号字段])
SQL 有了 NEWID() 就无须多讲拉,但 Access 中没有,所以寄望于 RND,实际上这条语句在 Access 中的“查询”中是可以运行并得到随机结果的,但在 ASP 中却无法得到预期的随机效果——无论如何刷新得到的结果都是一样的(就算在语句前加上 Randomize 也一样于事无补)。
当然,也不少其他的解决方法,用数组的,用循环的……不好说不对,但总觉得跑题了。后来有另外的朋友试验出这个方法:表 TestTable,有自动编号字段 TestID,标题字段 TestTitle,随机取得5条纪录,用代码:
Randomize
SELECT TOP 5 [TestTitle] FROM [TestTable] ORDER BY Rnd(-(TestID+"&Rnd()&"))
实际上,我目前需要应用到随机纪录的地方就是用的这条语句,除此我没有其他更好的方法(但用过才知道,其实这条语句偶然会生成重复纪录的)。也许你会有更好的方法……
分享到:
相关推荐
本资料"Access数据库随机抽取记录条数.zip"主要关注如何在Access中实现这一功能。 首先,我们要了解SQL(Structured Query Language),这是用于管理关系数据库的标准语言。在Access中,我们可以使用SQL查询来获取...
2.根据总条数,随机1次,1次性取出20条记录(当然这个就相当于分页了,要求不高的话,这个最快,我用的就是这个); 还有一种方法,随机20次,重复执行20次。 例如: $sum=800000;//得到总条数 /
在处理大量数据时,有时我们需要从数据库中随机抽取一部分记录来进行数据分析、测试或者展示等操作。本文将详细介绍如何从数据库中随机取出10条记录的方法,并提供多种不同数据库系统的实现方式。 #### 1. 原理介绍...
在SQL(Structured Query ...以上就是关于“SQL随机抽取N条记录”的详细解释,这些方法可以帮助你从数据库中获取随机样本,无论是进行数据分析还是其他目的。记住,根据你使用的具体SQL方言,可能需要调整上述代码。
在IT领域,随机抽取记录软件是一种非常实用的工具,尤其在数据分析、教育评估、抽奖活动或者市场调研等场景中。这种软件允许用户从一组数据中按照预设规则随机选取特定的记录,确保了过程的公正性和随机性。下面将...
例如,若想从`ywle`表中随机抽取10条记录,则可以执行以下SQL语句: ```sql SELECT TOP 10 * FROM ywle ORDER BY NEWID(); ``` 这段代码会从`ywle`表中随机选取10条记录返回。 ##### 2. 结合WHERE条件进行筛选 ...
在处理Access数据库时,有时我们需要从数据库中随机抽取一条或多条记录。这看似简单的需求,在实际操作中却可能会遇到一些问题,特别是当涉及到Access数据库记录集缓存机制时。本文将详细介绍如何通过编写特定的SQL...
本项目“Delphi随机抽取幸运观众Access数据库版”显然是一款利用Delphi来设计的软件,该软件的核心功能是通过随机算法从数据库中抽取幸运观众。这里,数据库采用了Microsoft Access,这是一个广泛使用的轻量级数据库...
VBA随机生成数据库数据记录.xlsm VBA随机抽取数据库表得数据显示出来在指定表,不重复生成 源码开发
基于SQL的元组集随机抽取算法主要研究如何高效地从数据库中随机获取记录集合,避免了客户端复杂编程的低效性。在某些应用场景中,例如在线考试系统、计算机自动出题、座号安排等,需要从题库数据库中随机选取试题,...
3. 在实际应用中,对于数据库随机抽取,应避免一次性将大量数据加载到内存中,以防止内存溢出或者数据库性能问题。可以通过分页技术逐步获取数据。 4. 随机抽取的结果应当用于安全场景,例如,不能用在涉及安全、...
在数据库管理和数据分析领域中,从大量数据中随机抽取一部分记录是一项常见且重要的任务。这不仅有助于提高数据处理的效率,还能在很多场景下提升用户体验,例如产品推荐系统、数据抽样分析等。本文将详细介绍如何在...
例如,我们可以生成一个临时表 tmp_2,以便随机取出 200 个记录: create table tmp_2 as select trunc(dbms_random.value(1,5000)) as id from tmp_1 where rownum; 注意,dbms_random.value(1,5000) 是取 1 到 ...
2. **算法二**:不断尝试的随机抽取 - 这个算法在每次循环中生成一个1到mycount之间的随机数sid,然后查询数据库获取对应试题。 - 如果查询不到试题,继续生成新的随机数,直到找到并取出pd数量的试题。 - 相较于...
例如,SQLite数据库用于存储学生的名单和点名记录,RecyclerView或者ListView组件用于展示学生列表,Button控件用于触发点名操作,随机数生成器(java.util.Random类)则用于实现随机抽取功能。 系统的界面设计强调...
《专家随机抽号管理系统》是一款专为医院设计的人工智能应用程序,旨在优化专家的抽签流程,确保公平、公正地进行专家选取。该系统作为信息管理系统的一个实例,充分体现了信息技术在医疗行业中的应用,以及对传统...