Oracle 随机数,随机抽取,按比率抽取

【信息科学与工程学】【数据科学】数据科学领域 第六篇 算法设计 01 算法设计 阅读详情

工作中有遇到这样的要求:

------1、随机提取每个县市区各3000个号码作为样本,全市10个县市区共30000个号码。
------2、样本号码提取尽量离散。

以前没有做过类似的数据抽取,网上找来一些资料,整理总结如下:

 

A)随机函数—dbms_random

a)基础

关于这些函数及DBMS_RANDOM包的文件都包含在SQLPlus中:

select text from all_source 
where name = 'DBMS_RANDOM' and type = 'PACKAGE' 
order by line;

也可以查看包体:

select text from all_source 
where name = 'DBMS_RANDOM' and type = 'PACKAGE BODY' 
order by line;

源码说明一切(10g的):

PACKAGE dbms_random AS

  ------------ 
  --  OVERVIEW
  --
  --  This package should be installed as SYS.  It generates a sequence of
  --  random 38-digit Oracle numbers.  The expected length of the sequence 
  --  is about power(10,28), which is hopefully long enough. 
  ----------

  --USAGE
  --
  --  This is a random number generator.  Do not use for cryptography.
  --  For more options the cryptographic toolkit should be used.
  --
  --  By default, the package is initialized with the current user
  --  name, current time down to the second, and the current session.
  --
  --  If this package is seeded twice with the same seed, then accessed
  --  in the same way, it will produce the same results in both cases.
  --
  --------

  --  EXAMPLES  
  --  
  --  To initialize or reset the generator, call the seed procedure as in: 
  --      execute dbms_random.seed(12345678);  
  --    or        
  --      execute dbms_random.seed(TO_CHAR(SYSDATE,'MM-DD-YYYY HH24:MI:SS'));
  --  To get the random number, simply call the function, e.g.
  --      my_random_number BINARY_INTEGER;
  --      my_random_number := dbms_random.random;
  --    or    
  --      my_random_real NUMBER;  
  --      my_random_real := dbms_random.value;
  --  To use in SQL statements:
  --      select dbms_random.value from dual; 
  --      insert into a values (dbms_random.value); 
  --      variable x NUMBER;
  --      execute :x := dbms_random.value;  
  --      update a set a2=a2+1 where a1 < :x;

  -- Seed with a binary integer
  PROCEDURE seed(val IN BINARY_INTEGER);
  PRAGMA restrict_references(seed, WNDS);

  -- Seed with a string (up to length 2000)  
  PROCEDURE seed(val IN VARCHAR2);
  PRAGMA restrict_references(seed, WNDS);

  -- Get a random 38-digit precision number, 0.0 <= value < 1.0  
  FUNCTION value RETURN NUMBER;
  PRAGMA restrict_references(value, WNDS);

  -- get a random Oracle number x, low <= x < high
  FUNCTION value(low IN NUMBER, high IN NUMBER) RETURN NUMBER;
  PRAGMA restrict_references(value, WNDS);

  -- get a random number from a normal distribution 
  FUNCTION normal RETURN NUMBER;
  PRAGMA restrict_references(normal, WNDS);

  -- get a random string  
  FUNCTION string(opt char, len NUMBER)
  
    /* "opt" specifies that the returned string may contain:    
       'u','U'  :  upper case alpha characters only    
       'l','L'  :  lower case alpha characters only    
       'a','A'  :  alpha characters only (mixed case)    
       'x','X'  :  any alpha-numeric characters (upper)    
       'p','P'  :  any printable characters    
    */
  
   RETURN VARCHAR2; -- string of <len> characters 
  PRAGMA restrict_references(string, WNDS);

  -- Obsolete, just calls seed(val) 
  PROCEDURE initialize(val IN BINARY_INTEGER);
  PRAGMA restrict_references(initialize, WNDS);

  -- Obsolete, get integer in ( -power(2,31) <= random < power(2,31) )   
  FUNCTION random RETURN BINARY_INTEGER;
  PRAGMA restrict_references(random, WNDS);

  -- Obsolete, does nothing 
  PROCEDURE terminate;
  TYPE num_array IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;

END dbms_random;

 

b)例子:

select dbms_random.value from dual;

select dbms_random.value() from dual;

默认取0.0-1.0的数

select dbms_random.random from dual;

select dbms_random.random() from dual;

取整数

select abs(mod(dbms_random.random,100)) from dual;------余数法
select trunc(dbms_random.value(0,100)) from dual;-----整数法

取某个范围内的整数

 

c)进阶

缺省DBMS_RANDOM.VALUE返回0到1之间的随机数

NORMAL函数返回服从正态分布的一组数。此正态分布标准偏差为1,期望值为0。这个函数返回的数值中有68%是介于-1与+1之间,95%介于-2与+2之间,99%介于-3与+3之间。
STRING函数。它返回一个长度达60个字符的随机字符串。

 

B)用DBMS_RANDOM生成文本和日期值
数字、文本字符串和日期都是用户会在表格里碰到的三种常见数据类型。虽然你可以用PL/SQL程序包里的DBMS_RANDOM随机生成数字——它确实能够做到这一点——它还能够随机生成文本和日期值。

a)产生随机数字
就让我们先从数字开始。VALUE函数会返回一个大于等于0但是小于1的数,精度是38位。

SELECT DBMS_RANDOM.VALUE FROM DUAL; 

对于指定范围内的整数,要加入参数low_value和high_value,并从结果中截取小数(最大值不能被作为可能的值)。所以对于0到99之间的整数,你要使用下面的代码:

SELECT TRUNC(DBMS_RANDOM.VALUE(0, 100)) FROM DUAL;

b)产生随机文本字符串
要随机生成文本字符串,就要使用STRING函数并编写代码指定字符串的类型和所希望的长度:

SELECT DBMS_RANDOM.STRING('A', 20) FROM DUAL; 

类型代码在《Oracle Database 10g PL/SQL程序包和类型参考(Oracle Database 10g PL/SQL Packages and Types Reference)》有说明。
下面是一些类型的代码:
‘U’用来生成大写字符
‘L’用来生成小写字符
‘A’用来生成大小写混合的字符

c)产生随机日期
Oracle将日期作为过去某个关键日期(如果你好奇的话,我可以告诉你这个日期是公元前4712年1月1日)的整数偏移量来保存。这就意味着你可以通过寻找与你希望的起始日期相对应的整数,然后向它加入一个随机的整数来随机生成一个指定范围内的日期。
使用TO_CHAR函数和‘J’格式代码,你可以为今天的日期生成一个内部日期数:

SELECT TO_CHAR(SYSDATE, 'J') FROM DUAL; 

例如,要生成一个2003年内的任意日期,你可以首先确定2003年1月1日的日期整数;

SELECT TO_CHAR(TO_DATE('01/01/03','mm/dd/yy'),'J')FROM DUAL; 

系统给的结果是2452641。所以要生成该年度内的任意日期,我们就要用带有low_value等于2452641和high_value等于2452641+364参数的DBMS_RANDOM.VALUE,再把它转换成日期:

SELECT TO_DATE(TRUNC(DBMS_RANDOM.VALUE(2452641,2452641+364)),'J') FROM DUAL;


C)Oracle取随机数据
1、Oracle访问数据的基本方法:

1)、全表扫描(Full table Scan):执行全表扫描,Oracle读表中的所有记录,考查每一行是否满足WHERE条件。Oracle顺序的读分配给该表的每一个数据块,且每个数据块Oracle只读一次.这样全表扫描能够受益于多块读.
 
2)、采样表扫描(sample table scan):扫描返回表中随机采样数据,这种访问方式需要在FROM语句中包含SAMPLE选项或者SAMPLE BLOCK选项. 
 
注:从Oracle8i开始Oracle提供采样表扫描特性 

 
2、使用sample获得随机结果集
2.1、语法: SAMPLE [ BLOCK ](sample_percent)[ SEED (seed_value) ] 
SAMPLE选项:表示按行采样来执行一个全表扫描,Oracle从表中读取特定百分比的记录,并判断是否满足WHERE子句以返回结果。
BLOCK: 表示使用随机块例举而不是随机行例举。
sample_percent:是随机获取一张表中记录的百分比。比如值为10,那就是表中的随机的百分之10的记录。
               值必须大于等于.000001,小于100。
SEED:表示从哪条记录返回,类似于预先设定例举结果,因而每次返回的结果都是固定的。该值必须介于0和4294967295之间。 
 
2.2、举例说明
   创建测试临时表:    

create table zeeno as select * from dba_objects;    

 
1)、sample(sample_percent):  

-- 从表zeeno中“全表扫描”随机抽取10%的记录,随机查询5条记录 
SQL>select object_name from zeeno sample(10) where rownum<6; 

OBJECT_NAME 
-------------------------------------------------------------------------------- 
UET$ 
VIEW$ 
I_SUPEROBJ2 
TRIGGERCOL$ 
I_VIEW1    
                          
SQL&gt; / 

OBJECT_NAME 
-------------------------------------------------------------------------------- 
I_FILE1 
IND$ 
CLU$ 
FET$ 
I_COBJ# 
  

 
2)、sample block(sample_percent)     

-- 从表zeeno中“采样表扫描”随机抽取10%的记录,随机查询5条记录 
SQL> select object_name from zeeno sample block(10) where rownum<6; 

OBJECT_NAME 
-------------------------------------------------------------------------------- 
URIFACTORY 
DBMS_XMLGEN 
DBMS_XMLGEN 
DBMS_XMLSTORE 
DBMS_XMLSTORE 
  

 

 3)、sample block(sample_percent) seed(seed_value)    

-- 使用seed,返回固定的结果集。从表zeeno中“采样表扫描”随机抽取10%的记录,随机查询5条记录。 
SQL> select object_name from zeeno sample(10) seed(10) where rownum<6; 

OBJECT_NAME 
-------------------------------------------------------------------------------- 
UET$ 
I_CON1 
I_FILE2 
FET$ 
I_COL1 

SQL&gt; select object_name from zeeno sample(10) seed(10) where rownum&lt;6; 

OBJECT_NAME 
-------------------------------------------------------------------------------- 
UET$ 
I_CON1 
I_FILE2 
FET$ 
I_COL1 
  

 注意以下几点:

1.sample只对单表生效,不能用于表连接和远程表
2.sample会使SQL自动使用CBO
 
 

 

3、使用DBMS_RANDOM包
  DBMS_RANDOM有两种主要的使用方法分别是:DBMS_RANDOM.VALUE()和DBMS_RANDOM.RANDOM

 

3.1、取随机数

SQL> select dbms_random.value() from dual;
 
DBMS_RANDOM.VALUE()
-------------------
  0.146123095968043
 
SQL> select dbms_random.value() from dual;
 
DBMS_RANDOM.VALUE()
-------------------
   0.90175764902345

 

SQL> select dbms_random.value(1,10) from dual;
 
DBMS_RANDOM.VALUE(1,10)
-----------------------
       9.86601968210438
 
SQL> select dbms_random.value(1,10) from dual;
 
DBMS_RANDOM.VALUE(1,10)
-----------------------
       3.43475105499398

 

 3.2、举例说明

SQL> select * from (select object_name from zeeno order by dbms_random.random) where rownum<6;
 
OBJECT_NAME
--------------------------------------------------------------------------------
/6dd0fe0e_CertificateCertifica
/cf5224d7_SunJSSE_a4
KU$_PARSED_ITEMS
javax/swing/text/IconView
oracle/xml/jdwp/XSLJDWPString
 
SQL> select * from (select object_name from zeeno order by dbms_random.random) where rownum<6;
 
OBJECT_NAME
--------------------------------------------------------------------------------
java/io/ObjectOutputStream$1
sun/security/krb5/KrbAsReq
/2d52a21c_Last
SYS_YOID0000006594$
/308fbfa1_BeanContextServices
 
SQL> select * from (select object_name from zeeno order by trunc(dbms_random.value(1,3))) where rownum<6;
 
OBJECT_NAME
--------------------------------------------------------------------------------
ICOL$
C_COBJ#
PROXY_ROLE_DATA$
I_OBJ#
UET$
 
SQL> select * from (select object_name from zeeno order by trunc(dbms_random.value(1,3))) where rownum<6;
 
OBJECT_NAME
--------------------------------------------------------------------------------
ICOL$
UNDO$
I_PROXY_ROLE_DATA$_1
I_CDEF2
UET$

SQL> select trunc(dbms_random.value(0, 1000)) randomNum from dual; --(0-1000的整数)
 
 RANDOMNUM
----------
       790
 
SQL> select dbms_random.value(0, 1000) randomNum from dual; --(0-1000的浮点数)
 
 RANDOMNUM
----------
997.876726

 

4、使用内部函数sys_guid()  

SQL>  select * from (select OBJECT_NAME from zeeno order by sys_guid()) where rownum < 6; 
 
OBJECT_NAME
--------------------------------------------------------------------------------
/6bedadd5_KeyManagerFactory1
/ffd795c8_AddCRIF
TABLE_EXPORT_OBJECTS
/278cd3a4_CGParselet
KU$_REFCOL_T
 
SQL>  select * from (select OBJECT_NAME from zeeno order by sys_guid()) where rownum < 6;
 
OBJECT_NAME
--------------------------------------------------------------------------------
sun/awt/InputMethodSupport
V_$RESTORE_POINT
COLORSLIST
java/util/WeakHashMap$Entry
DBMSOUTPUT_LINESARRAY
注: 在使用sys_guid() 这种方法时,有时会获取到相同的记录,即和前一次查询的结果集是一样的,查找相关资料,有些说是和操作系统有关,在windows平台下正常,获取到的数据是随机的,而在linux等平台下始终是相同不变的数据集,有些说是因为sys_guid()函数本身的问题,即sys_guid()会在查询上生成一个16字节的全局唯一标识符,这个标识符在绝大部分平台上由一个宿主标识符和进程或进程的线程标识符组成,这就是说,它很可能是随机的,但是并不表示一定是百分之百的这样。
      
       所以,为确保在不同的平台每次读取的数据都是随机的,我们大多采用使用sample函数或者DBMS_RANDOM包获得随机结果集,其中使用sample函数更常用,因为其查询时缩小了查询范围,在查询大表,且要提取数据不是很不多的情况下,会对查询速度上有明显的提高。

 

D)其他数据库随机取出n条记录:

1、SqlServer中随机提取数据库记录

select top n * from 表 order by newid()

--------------------------------------------------------------------------------
select top 10 * from tablename order by NEWID()  
select top 10 * from tablename order by NEWID()

2、mysql中随机提取数据库记录

Select * From 表 order By rand() Limit n

-------------------------------------------------------------------------------
select * from tablename order by rand() limit 10
select * from tablename order by rand() limit 10

3、Access中随机提取数据库记录

Select top n * FROM 表 orDER BY Rnd(id)

-------------------------------------------------------------------------------
SELECT top 10 * FROM tablename ORDER BY Rnd(FId)  
SELECT top 10 * FROM tablename ORDER BY Rnd(FId)
FId:为你当前表的ID字段名

 

*************************************************end*************************************************

【信息科学与工程学】【安全领域】第十二篇 简述数据安全体系与保密技术 设计一个自适应窗口调整算法,本质上是为您的系统装备一个能够感知环境、智能决策的“自动驾驶”模式。核心在于明确您的核心目标(是优先延迟还是精度),然后据此精心设计触发条件和调整策略。 阅读详情

相关推荐

【信息科学与工程学】【数据中心】 第十五篇 智算中心DaaS数据消费场景02

智算中心DaaS数据共享场景的分级分类是一个复杂的系统工程,需要从技术、安全、合规、治理、运营等多个维度进行综合考虑。本分级分类体系为不同场景下的数据共享提供了详细的指导,包括安全分级、共享模式、技术架构、合规治理等方面。在实施数据共享平台时,应结合自身业务需求、技术能力和资源情况,选择适合的共享模式和实施路径。同时,要高度重视数据安全和隐私保护,采用先进的技术和管理手段,确保数据共享的安全可控。

weixin_49199313的博客 1万+

oracle计算比例,某字段的百分比

在oracle统计中,常常需要统计某些字段的占比,这里记录一下。 原始数据如下: 当需要知道不同工作的职工的占比时,即统计job列各自占总数的百分比。 SELECT JOB,COUNT( * ) COUNT_JOB, 100 * round( COUNT( * ) / SUM( COUNT( * )) OVER (), 4 ) || '%' percent FROM EMP t GROUP BY JOB 即可获得如下结果: 当需要对某些特定值统计时,如工资大于2000的占比。 需要将特定值

m0_54401583的博客 5303

单机多环境部署apollo 2.3.0

理解apollo的整体架构后,对比nacos配置中心功能点,其设计的复杂度以及完整度相较nacos而言更为丰富 对于不同的环境,例如 FAT, PRO 在部署时进程已经完全物理隔离,并且每个环境config/adminservice依赖的数据也完全物理隔离(连接不同的db),在数据隔离与安全方面做的很完善,但同时也提升了架构的复杂度 而 portal 可以管理多个环境,单节点部署虽然有单点问题,但并不会影响业务从configservice读取配置, 挂掉只要重启就可以,只是在

Life is a starting point everywhere 1299

Oracle当中某表随机抽取数据(随机性抽取)

缺点 : 数据命中率不能达到 百分百 (因为使用了 sample函数 , 当数据量比较少时 , 不能保证每次都能返回 获取的样本数据 , 抽样的表不能用 dblink[数据库连接])概述 : 这种方式相对比较原始 , 就是 更具随机的值进行 排序 , 然后 再进行 获取 前 1000 行数据 .优点 : 性能相对较好 (比方式一 性能好 , 比方式二 随机性好)缺点 : 性能差 (当进行获取的数据量 越大 , 执行的时间就越长 )优点 : 性能好 (执行的时间相对比较短)优点 : 随机性 好。

qq_70095877的博客 4490

现控报告-- 分析倒立摆系统稳定性、能控性及能观性分析,设计PID控制方案(附matlab)

建立直线一级倒立摆系统的动力学模型,推导该系统的运动方程,求出直线一级倒立摆系统传递函数模型及空间状态方程模型。接着描述了PID控制系统设计原理及PID控制器各校正环节的作用,简要叙述了参数的整定方法。设计了直线一级倒立摆摆杆摆角及小车位置常规单回路控制器,通过Simulink仿真知道常规单回路控制器能控制摆杆摆角,不能控制小车位置。于是设计出了直线一级倒立摆双闭环控制器及基于倒立摆系统的状态空间方程控制器,利用软件进行仿真,仿真结果表明,常规双闭环控制方案和基于状态空间方程加控制方案均能对摆杆摆角及小车位

mengshenglo的博客 4万+

单总线CPU设计(变长指令周期3级时序)(HUST)(头歌实验)

利用比较器等功能模块将32位MIPS 指令字译码生成LW、SW、BEQ、SLT、ADDI、OtherInstr信号也就是利用比较器将指令字转换为译码信号,OP与不同信号对应(查询MIPS手册得知) 16 进制 :23 是 2进制: 00100011 ,把获得的OP,Func,和常数比对,相同输出1.按照题目要求填写表格,使用logisim的组合逻辑电路分析功能,当然也可以直接再logisim中写真值表。单总线采用变长指令周期,不同指令周期数不同,节拍数可变化。写的excel表格最终生成电路(当然 需要先把

xuxuaifeifei的博客 1万+

ORACLE从表中随机抽取一定比率的记录的两种方法

  从ch_info_commission_req_detail表中随机抽取50%的记录 方法一: select * from ch_info_commission_req_detail sample(50) where region is not null;   方法二(一般使用这种方法):   select *  from ch_info_commission...

heyunliang的专栏 1215

【芯片验证随心记】1.SystemVerilog中,rand和randc的区别?如何用constraint实现randc?

在SystemVerilog里,randc 的“不重复循环”特性是用一个 周期性排列器(permutation engine) 实现的,而这个引擎在 LRM 里并没有公开。我们只能在 “用户空间” 用 rand + constraint 去模仿它的行为。每次随机化只取 queue.pop_front(),用完再洗。在4次随机化内,y会依次出现0,1,2,3各一次(顺序随机)每次随机化,x可能是0-3中的任意值,可能连续多次相同。每次随机化时,在未使用的值里随机挑一个;第5次随机化时,重新生成新的排列周期。

qq_43172512的博客 342

oracle 取出30%-60%的数据

在有一分数列(由高到低),我想取出该列的前30% 怎么取呀? 如果想取出30%-60%的数据又该怎么取? select * from ( select a.*,row_number() over (order by 分数 desc) rn,count(*) over() tot from a ) 这是30%的 where trunc(100*rn/tot) 30%-60%

岁寒松柏 2211

【Bug已解决】Codex CLI 报错 apply_patch 失败:无法应用补丁的解决方案

方案适用场景推荐指数统一换行符规范跨平台协作项目的标准配置⭐⭐⭐⭐⭐关闭自动格式化冲突IDE 与 Codex 并发编辑同一文件⭐⭐⭐⭐缩小任务改动范围长期有效的使用习惯优化⭐⭐⭐⭐⭐统一 UTF-8 编码涉及非 UTF-8 遗留文件的项目⭐⭐⭐提示重新读取文件单次失败后的快速恢复方式⭐⭐⭐⭐报错的本质是Codex 生成补丁时读取的文件内容,与实际应用补丁时磁盘上的文件内容出现了不一致,常见诱因包括换行符风格混用、文件被其他工具并发修改、编码问题等。

一键难忘的博客 7296

解决k8s核心组件calico pod资源不创建问题

解决k8s核心组件calico pod资源不创建问题 1.问题描述 由于K8S集群Master节点故障,导致calico网络组件虽然处于Running状态,但是一直无法准备就绪,如下图所示 calico-node-lpt7h运行在master节点,第一时间紧急处理方法就是将其pod删除,让K8S自动重建该pod,使整个集群快速恢复 但是就当我将calico-node-lpt7h pod删除后,该pod始终无法自建,就好像是从来没有这个pod似的 2.解决方法 期初排查时,我觉得可能是由于当前master

江晓龙的博客 4806

查询出百分比 oracle,SQL Server数据库按百分比查询出表中的记录数

SQL Server数据库查询时,能否按百分比查询出记录的条数呢?答案是肯定的。本文我们就介绍这一实现方法。实现该功能的代码如下:create procedure pro_topPercent(@ipercent [int] =0 --默认不返回)asbeginselect top (@ipercent ) percent * from booksend或create procedu...

weixin_42456278的博客 759

从入门到精通:Cursor使用全攻略

Cursor是一款基于VSCode深度定制的AI编程工具,由Anysphere公司开发。它将AI技术与代码开发深度融合,能够理解自然语言指令并生成高质量代码,支持代码补全、跨文件上下文理解等功能。本文详细介绍了Cursor的安装设置、界面导航、基本操作和Composer模式等核心功能,并提供了高效提示词写作技巧和实际应用案例(如浏览器插件开发、复杂表单组件构建等)。文章还总结了使用注意事项和常见问题解决方案,展望了AI编程工具的发展前景。Cursor通过智能代码生成和项目理解能力,显著提升了开发效率,适合各

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 6457

遗传算法工程化实战:从早熟收敛到生产可用的三大核心突破

遗传算法(GA)作为一种经典智能优化方法,常被初学者误认为仅适用于教学演示。实际上,其真正价值在于解决梯度失效、目标黑箱、多约束非凸等工业级优化难题。理解GA的关键不在于复现生物进化过程,而在于掌握适应度函数设计原理、种群多样性动态调控机制与收敛性可诊断能力。其中,适应度函数失真和早熟收敛是导致GA在实际项目中失败的两大主因;而通过Pareto前沿引导、Z-score稳健归一化、选择压强动态调节等技术手段,可显著提升算法鲁棒性与复现性。本文聚焦于将GA从‘能跑通’升级为‘可部署’的工程实践路径,覆盖芯片布线

440

YOLO11改进:轻量级改进 | 通用倒瓶颈(UIB)搜索块结合C3k2二次创新 | 轻量化之王MobileNetV4

通用倒瓶颈(UIB)搜索块替代YOLO11的C3k2

会AI的学姐 292

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

机器学习生产化:模型上线后的系统韧性与工程实践

机器学习模型部署不是开发终点,而是工程挑战的真正起点。在真实业务场景中,模型稳定性高度依赖特征服务可靠性、上下游系统协同及容错机制设计。本文围绕模型上线后的关键工程问题展开,涵盖特征延迟应对、服务熔断降级、灰度发布验证、长尾延迟治理、数据漂移检测与审计就绪设计等核心环节,强调‘系统韧性’比‘算法精度’更决定ML项目成败。内容深度融合MLOps最佳实践与金融级高可用要求,为构建可监控、可回滚、可审计的生产级AI系统提供可落地的技术路径。

weixin_30307921的博客 421

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

sql server 按百分比随机抽取记录.

select top  10  percent * from EB_REPAIR a order by newid()

weixin_34015566的博客 1258

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

oracle计算比例,某字段占总数的百分比

一、方法 我的sql语句本来就计算好了不同字段的记录数,只需要再统计一下占总记录数的百分比即可,也就是在select后加上这段代码: 100 * round( COUNT( * ) / SUM( COUNT( * )) OVER (), 4 ) || '%' percent 这个语句中用到的几个sql函数讲解: 1、ROUND() 函数 : 用于把数值字段舍入为指定的小数位数,即保留几位小数。 round(a,b) a 表示要舍入的字段;b规定要返回的小数位数。 详细说明:SQL ROUND() 函数

lixingecho的博客 2万+

MYSQL,Oracle(只对一部分数据进行查询,查询前%20的数据)。

MYSQL,Oracle(只对一部分数据进行查询,查询前%20的数据)。 mysql查询。 1.查询表内0%-10%数据某一字段不为空的个数。 下面展示一些 内联代码片。 SELECT COUNT(*) FROM (SELECT @rownum:=0) r join bak_zwxx_nsrxx g (表名) where (@rownum:=@rownum+1)<=(select round(count(*)*0.1) from bak_zwxx_nsrxx) AND FDDBRSFZJHM(字

学徒之路的博客 2053

oracle中随机抽取函数,Oracle随机抽取数据

新建了一个测试表Test,里面只有一个递增的字段“ID”,1万条数据。测试脚本中需把insert语句中的select子句作相应的替换方法一,使用随机数:select * from (select * from test order by dbms_random.value) where rownum <= 50这是最原始的方法,测试脚本执行了49分钟还没结束,手动停了。测试结果能涵盖1万条数...

weixin_32239523的博客 1166

Oracle 取随机数

Oracle 取随机数 1、从表中随机取记录 select * from (select * from staff order by dbms_random.random) where rownum < 4 表示从STAFF表中随机取3条记录 2、产生随机数 SELECT DBMS_RANDOM.RANDOM FROM DUAL; 产生一个任意大...

煦岩芯 525

【Oracle】计算百分比

使用ratio_to_report()over() 函数计算百分比

阿野啊的博客 4710

Oracle 中实现随机抽取数据

一、Oracle取随机数据 1、Oracle访问数据的基本方法: 1)、全表扫描(Full table Scan):执行全表扫描,Oracle读表中的所有记录,考查每一行是否满足WHERE条件。Oracle顺序的读分配给该表的每一个数据块,且每个数据块Oracle只读一次.这样全表扫描能够受益于多块读. 2)、采样表扫描(sample table scan):扫描返回表中随机采样数据,...

dandinghe1990的专栏 1131

mysql-->随机取数

MySQL 3种随机取数的方法

weixin_73361196的博客 6954

oracle中分组函数取百分比,Oracle之组函数、分组统计-Oracle

Oracle之组函数、分组统计1.组函数在SQL中常用的组函数有以下几个:COUNT():求出全部的记录数 –SELECT COUNT(empno) FROM emp ;MAX() :求出一组中的最大值 –SELECT MAX(sal) FROM emp ;MIN() :求出最小值 –SELECT MIN(sal) FROM emp ;AVG() :求出平均值 –SELECT A...

weixin_36256361的博客 1363
上一篇: ExtJS 的本地化 local/ext-lang-xx_XX.js
下一篇: struts 2 学习笔记 1
folio
博客等级 码龄19年 15粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值