`
coolmaple
  • 浏览: 35000 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

随机读取数据表记录的整理

阅读更多

My sql 2000的写法

方法一、
select top 1 * from yourtable  order by newid()
方法二、
set rowcount 1
select * from run2k..fsjour  order by newid()
set rowcount 0
ACCESS的写法


1。通过recordset游标可移动的特性,在已打开记录集里移动到随机位置读取记录。而且可以将就使用页面中已打开的RS对象。
2。将出现过的随机数保存到一个字符串中,通过instr函数来检查是否重复,重复则递归调用函数至不重复。
数据库打开查询若干,省略... ...
Set rs = Server.CreateObject("Adodb.RecordSet")
rs.open sql,conn,1,1

DIM Appeared
Call DisRndRecord(10,rs.recordCount)'调用函数该位置显示记录

'################SUBS################
'#DisRndRecord(DisNum,rsBound)
'#参数DisNum:显示数量
'#参数rsBound:随机数产生范围
Sub DisRndRecord(DisNum,rsBound)
 DIM i,ThisRnd
 If rsBound < DisNum Then DisNum = rsBound'记录总数小于要抽取记录条数的情况
 For i = 0 To DisNum - 1
  ThisRnd = GetRnd(rsBound)'取得一个不重复的随机数
  rs.Move(ThisRnd)'游标移动到随机数位置数读取
  Response.Write("<br>("&rs("id")&")"&rs("Title"))
  rs.Move(-ThisRnd)
 Next
End Sub
'# 函数GetRnd(bound)返回一个不重复的随机数字
'#参数bound:随机范围
Function GetRnd(bound)
 DIM ranNum
 Randomize()
 ranNum=int(bound*rnd)
 If Instr(Appeared,"["&ranNum&"]") Then'产生的随机数是否出现过
  ranNum = getRnd(bound)
 End If
 Appeared = Appeared & "["&ranNum&"]"'记录已出现的随机数
 GetRnd = ranNum
End Function

 

MySQL的写法


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(20);
-> 0.1811
mysql> select RAND(20);
-> 0.1811
mysql> select RAND();
-> 0.2079
mysql> select RAND();
-> 0.7888

  你不能在一个ORDER BY子句用RAND()值使用列,因为ORDER BY将重复计算列多次。然而在MySQL3.23中,你可以做: SELECT * FROM table_name ORDER BY RAND(),这是有利于得到一个来自SELECT * FROM table1,table2 WHERE a=b AND c<d ORDER BY RAND() LIMIT 1000的集合的随机样本。注意在一个WHERE子句里的一个RAND()将在每次WHERE被执行时重新评估。

  试了一下,8千条记录的表,执行一次需要0.08 sec,.慢了些

  请教了google,得到如下代码

SELECT * FROM table_name AS r1 JOIN ( SELECT ROUND(RAND() * (SELECT MAX(id) FROM table_name)) AS id) AS r2 WHERE r1.id >= r2.id ORDER BY r1.id ASC LIMIT 5;


 

ORACLE的写法


ORDER BY DBMS_RANDOM.VALUEdbms_random.value(100,200),dbms_random.string('A',10)
SELECT *
FROM (SELECT EMPNO, ENAME FROM SCOTT.EMP ORDER BY DBMS_RANDOM.VALUE)
WHERE ROWNUM <3> 注:dbms_random包需要手工安装,位于$ORACLE_HOME/rdbms/admin/dbmsrand.sql
dbms_random.value(100,200)可以产生100到200范围的随机数
取排序后的前3条记录:
SELECT *
FROM (SELECT EMPNO, ENAME, rownum rn FROM SCOTT.EMP ORDER BY 1)
WHERE rn 取排序后的第4-6条记录:
SELECT *
FROM (SELECT EMPNO, ENAME, rownum rn FROM SCOTT.EMP ORDER BY 1)
WHERE rn between 4 and 6;
11.13 随机产生N个字符串
select dbms_random.string('A',10) from dual;

分享到:
评论

相关推荐

    磁盘—移动硬盘读取写入测速.rar

    这类软件会生成随机或连续的数据块,然后记录硬盘在读取和写入这些数据时所需的时间。 2. 常见测试项目:包括持续读写速度、4K随机读写速度、队列深度等。持续读写测试模拟大文件传输,4K随机读写则模拟日常多任务...

    机器学习相关数据整理,包括鸢尾花、波士顿房价、泰坦尼克号等数据

    首先,导入pandas库,然后使用`pd.read_csv()`函数读取数据。例如,加载泰坦尼克号数据集的代码可能如下: ```python import pandas as pd titanic_data = pd.read_csv('scripts_and_data/titanic.csv') ``` 接着...

    光伏电站发电数据(可以用数据统计,数据计算)

    标题中的“光伏电站发电数据”指的是记录光伏电站发电情况的数据集,这种数据通常包含电站每日、每小时甚至每分钟的发电量,以及相关的环境参数,如光照强度、温度等。这些数据对于研究光伏系统的性能、预测发电量...

    电梯卡数据分析软件

    电梯卡数据分析软件是一种专门针对电梯使用情况进行深度分析的应用程序,它能够收集、整理并解析电梯卡片上的数据,为物业管理、设施维护以及城市规划提供有价值的信息。电梯卡片通常记录了电梯的运行状态、使用频率...

    U_text.zip_U 读写_U盘_U盘 数据_U盘 读写_U盘读写

    在读取数据时,控制器会查找指定地址的存储单元,并将其中的信息转化为可识别的数据格式,通过USB接口传送到计算机。而写入数据时,U盘控制器会先擦除指定区域,然后将新数据写入到相应的存储单元中。 U盘的数据...

    数据处理与误差分析例题

    2. **随机误差**:由偶然因素引起的数据波动,难以预测。 3. **粗大误差**:明显偏离真实值的异常值,需仔细检查排除。 ### 数据处理方法 #### 一、数据整理 1. **数据排序**:按照一定顺序排列数据,便于观察...

    凯斯西储大学(CWRU)轴承数据集(含数据包+整理Python程序+使用说明) - 副本 (2).rar

    Python程序可能包括读取数据、进行滤波、特征提取、故障检测和分类等步骤。 3. **使用说明**:这份文档提供了如何使用数据集和Python程序的指导。它可能会解释数据文件的结构,脚本的运行方式,以及如何解读分析...

    参考资料-水平测量记录4.zip

    水平测量是土木工程、地理信息系统以及众多科学...综上所述,“水平测量记录4.zip”提供的信息可能涵盖了测量点的定位、高差计算、数据记录等多个环节,对于理解测量过程、检查测量质量及后续的工程设计都有重要意义。

    整理了一些关于fifo的资料

    - **读指针**:记录当前读取数据的位置。 - **写指针**:记录当前写入数据的位置。 - **满标志**:当写指针即将追上或已经追上读指针时,表示FIFO已满,不能继续写入数据。 - **空标志**:当读指针和写指针重合时,...

    数据结构课程设计题(C语言)

    首先,我们来看“07级《数据结构》课程设计选题”,这个选题涉及到随机分配题目,根据学生选课学号的最后两位取模13来确定具体的任务。例如,选课学号为20071877的同学将完成第12号任务。设计的时间安排在特定的日期...

    2022-23-1物理实验纸质报告项目相关数据处理表格.rar

    数据处理包括数据整理、计算、绘图等,以揭示潜在的规律。这可能涉及到统计分析,如平均值、标准差、相关性分析等。使用Excel或其他电子表格软件可以方便地进行这些操作,并生成图表来可视化数据。 6. **结果分析*...

    课题研究过程记录本.doc

    随着研究的深入,课题组梳理了小学三至五年级的统计教学内容,并提出了处理信息能力的三个水平:读取数据、比较数据关系和基于数据进行预测和判断。同时,研究还强调了教师在教学中创造性地使用教材,设计课外活动以...

    Youtube有害评论数据集.zip

    数据集通常包含已标注的数据,这些数据经过整理和分类,以便用于训练模型,如深度学习模型,来识别文本中的有害内容。在这个案例中,数据集可能包含了有毒评论的标记,如是否含有仇恨言论、人身攻击或其他不适当内容...

    喜欢买双色球的c友,可以用这个代码来分析历年来双色球出现概率最多的球号

    在处理数据时,它可能会先读取历年的开奖记录,将这些记录整理成结构化的数据,然后对红球和蓝球的出现次数进行计数。计数结果可以展示哪些号码出现最为频繁,从而为购买者提供参考。 在编程实现上,这个“双色球...

    VB的英语资料(1)

    - **数据读取器类**:用于顺序读取数据,不支持随机访问。 #### 三、Visual Studio 2005 数据向导 - **数据访问组件**:包括数据集、数据网格视图、绑定源、绑定导航器和表适配器等。 - **数据集**:存储从数据库...

    23 - python生鲜电商平台数据分析

    1. **pandas基础**:学习如何使用`pd.read_excel()`函数读取Excel文件,并了解DataFrame的基本操作,如列选择(`.loc`, `.iloc`)、数据过滤(条件查询)、数据聚合(`.groupby()`, `.agg()`)以及数据合并(`.merge...

Global site tag (gtag.js) - Google Analytics