CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Oracle >  开发

能不能取表的任意一半数据和另一半数据,好希望能取

楼主sillyli(棒棒)2006-02-21 16:27:58 在 Oracle / 开发 提问

如何取,谢谢  
   
   
  问题点数:50、回复次数:7Top

1 楼duanzilin(寻)回复于 2006-02-21 16:43:31 得分 30

SELECT   *   FROM   (SELECT   t.*,   NTILE(2)   OVER(ORDER   BY   dbms_random.VALUE)   tmpcol   FROM   t)   WHERE   tmpcol   =   1Top

2 楼duanzilin(寻)回复于 2006-02-21 16:55:09 得分 0

我这里是查询了其中一半的数据,但是不能通过2次查询取得另一半数据,因为2次查询数据都是随机排序的,不能保证后面一次查询是另一半。   要查另一半数据可以先执行查询:SELECT   *   FROM   (SELECT   t.*,   NTILE(2)   OVER(ORDER   BY   dbms_random.VALUE)   tmpcol   FROM   t)   ,把结果存在游标或dataset中,然后取tmpcol   为1的就是其中一半,tmpcol为2的是另外一半,分析函数NTILE(2)就是把数据均匀的分成2个组,如果是NTILE(3)就是分3个组Top

3 楼boydgmx(授人以鱼不如授人以渔(baidu&google))回复于 2006-02-21 17:58:18 得分 20

SELECT提供了SAMPLE子句来从表中随机读取采样数据。  
   
  SELECT   ...table_name   SAMPLE   [BLOCK]   (sample_percent)  
   
  你可以随机读取块而不是行来采样记录,对于块采样,BLOCK关键词是必需的。可选的采样率必须小于100。  
  当使用SAMPLE子句,只能从单表中读取。连接查询不支持。  
   
  select   *   from   tbl   SAMPLE(50);Top

4 楼sillyli(棒棒)回复于 2006-02-21 18:47:54 得分 0

但是还想准确的取得另一半数据,有什么办法吗  
  我是想让前一半数据和后一半数据并行作某些操作Top

5 楼sillyli(棒棒)回复于 2006-02-21 18:57:37 得分 0

to   duanzilin(寻):表数据量较大,这样效率会不会慢,而且这两部分数据要用两个会话处理  
   
  另,这两部分数据大致相等即可,  
  只要用一个sql语句取第一部分,另一个sql语句准确取得另一部分即可  
  Top

6 楼duanzilin(寻)回复于 2006-02-22 09:47:08 得分 0

如果是取任意一半取数据的话用2个sql不大现实,因为sql执行2次的结果都是随机的,而且是两个会话,用临时表也不可取,只有建一个中间表,第一次随机取得一半数据放入中间表,第2次用中间表和原表关联取另一半Top

7 楼zlz_212(ShREk)回复于 2006-02-22 09:48:38 得分 0

关注Top

相关问题

  • 如何将任意数据库中数据表中的数据导出成Excel文件且不通过ODBC?
  • 如何将任意数据库中数据表中的数据导入到ACCESS库中(用ADO)
  • 爽博,另一半来了!
  • 各位大虾 请问怎样获取任意ACCESS数据库中数据表的名称啊?
  • 我用datalist连接数据库,为什么只显示了一半的数据,另一半没显示. 显示数据的索引值为0,2,4,6,8....希望高手给解答一下
  • 如何读出任意Access数据库的表名和字段名?
  • ▲▲▲查询数据表中任意20条记录,可以实现吗?
  • help!数据表
  • ADO如何实现两个数据库(任意数据库类型)的两个相同结构表的数据拷贝
  • ======C/S下如何在表单上生成任意数量的“表格”(根据数据库中的某些记录)=======

关键词

  • 数据
  • 查询
  • sql
  • tmpcol
  • 另一半
  • 表
  • ntile
  • 读取
  • sample
  • 中间表

得分解答快速导航

  • 帖主:sillyli
  • duanzilin
  • boydgmx

相关链接

  • Oracle类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo