呵呵,描述的还不清楚,再详细些,你说的东一头西一头的,不知所云,还是没太懂,你想把一张表按照ID平均分还是怎么弄,没太懂,我理解能力差,请见谅,我建议你用view不要另建表,之后查询和更改用执行字符串方式拼接来得到结果,要用到存储过程或者function,思路都给你了,其余的自己发挥吧
Kettle学习一:简单的表输入输出
1创建两个DB连接,test和test1,分别连接两个不同的数据库
2拖拽表输入,字段转换,表输出图标到界面,并住shift键连接它们
3表输入:用于查询出一个数据表中需要搬运的数据。
双击表输入——>选择需要搬运的数据库(test)——>获取 SQL查询语句——>确定
四种数据库随机获取10条数据的方法
SQL Server:
SELECT TOP 10 FROM T_USER ORDER BY NEWID()
ORACLE:
SELECT FROM (SELECT FROM T_USER ORDER BY DBMS_RANDOMRANDOM()) WHERE RONUM <= 10
MySQL:
SELECT FROM T_USER ORDER BY RAND() LIMIT 10
Access:
SELECT TOP 10 FROM T_USER ORDER BY rnd([一个自动编号字段])
这条语句在 Access 中的“查询”中是可以运行并得到随机结果的,但在 ASPNET等后台程序代码中却无法得到预期的随机效果。
正确的写法如下:
以ASPNET为例:
Random random = new Random(SystemGuidNewGuid()GetHashCode());
int r = randomNext();
string sql = "SELECT TOP 10 FROM T_USER ORDER BY RND(" + (-r) + "自动编号字段)"
一、Oracle取随机数据 1、Oracle访问数据的基本方法: 1)、全表扫描(Full table Scan):执行全表扫描,Oracle读表中的所有记录,考查每一行是否满足WHERE条件。Oracle顺序的读分配给该表的每一个数据块,且每个数据块Oracle只读一次这样全表扫描能够受益于多块读 2)、采样表扫描(sample table scan):扫描返回表中随机采样数据,这种访问方式需要在FROM语句中包含SAMPLE选项或者SAMPLE BLOCK选项 注:从Oracle8i开始Oracle提供采样表扫描特性
2、使用sample获得随机结果集 21、语法: SAMPLE BLOCK [ SEED (seed_value) ] SAMPLE选项:表示按行采样来执行一个全表扫描,Oracle从表中读取特定百分比的记录,并判断是否满足WHERE子句以返回结果。 BLOCK: 表示使用随机块例举而不是随机行例举。 sample_percent:是随机获取一张表中记录的百分比。比如值为10,那就是表中的随机的百分之10的记录。 值必须大于等于000001,小于100。
SEED:表示从哪条记录返回,类似于预先设定例举结果,因而每次返回的结果都是固定的。该值必须介于0和4294967295之间。
22、举例说明
(1)sample(sample_percent):
(2)、sample block(sample_percent)
(3)、sample block(sample_percent) seed(seed_value)
注意以下几点:
1sample只对单表生效,不能用于表连接和远程表 2sample会使SQL自动使用CBO
3、使用DBMS_RANDOM包 DBMS_RANDOM有两种主要的使用方法分别是:DBMS_RANDOMVALUE()和DBMS_RANDOMRANDOM
4、使用 内部函数sys_guid()
注:
在使用sys_guid() 这种方法时,有时会获取到相同的记录,即和前一次查询的结果集是一样的,查找相关资料,有些说是和 *** 作系统 有关,在windows平台下正常,获取到的数据是随机的,而在 Linux 等平台下始终是相同不变的数据集,有些说是因为sys_guid()函数本身的问题,即sys_guid()会在查询上生成一个16字节的全局唯一标识符,这个标识符在绝大部分平台上由一个宿主标识符和进程或进程的线程标识符组成,这就是说,它很可能是随机的,但是并不表示一定是百分之百的这样。
所以,为确保在不同的平台每次读取的数据都是随机的,我们大多采用使用sample函数或者DBMS_RANDOM包获得随机结果集,其中使用sample函数更常用,因为其查询时缩小了查询范围,在查询大表,且要提取数据不是很不多的情况下,会对查询速度上有明显的提高。
利用数据源的增量数据对数据仓库进行维护,可以有效提高ETL效率现有通用ETL工具在增量抽取方面存在…些问题,如不能抽取多个异构数据源的增量数据以及在处理增量数据时造成数据丢失的异常问题本文从实践角度设计的增量式ETL工具采用集成多种增量数据捕获方式,解决异构数据源在捕获增量数据上的差异;在数据处理过程中,通过辅助表的手段解决了数据丢失的问题在文章的最后,还介绍了ETL过程中数据转换和转换调度的实现
以上就是关于如何把数据库表中的数据平均分成几部份抽取出来,全部的内容,包括:如何把数据库表中的数据平均分成几部份抽取出来,、kettle一个数据库表数据抽取到另一个数据库,中间想对几个字段下的值先进行解密再存到另一个数据库怎么做、sql 随机抽取几条数据的方法 推荐等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)