Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 从非结构化表创建序列_Sql_Database_Oracle_Group By - Fatal编程技术网

Sql 从非结构化表创建序列

Sql 从非结构化表创建序列,sql,database,oracle,group-by,Sql,Database,Oracle,Group By,考虑到有90000多条记录,如何根据创建的\u DT

考虑到有90000多条记录,如何根据创建的\u DT
NUMBERID | MODEL| NAME | VALUE | CREATED_DT | LOADED_DT
1000     | BOE  | AGT  | 300   | 02-AUG-2016| 02-AUG-2016
1001     | AIR  | ACT  | 400   | 01-AUG-2016| 01-AUG-2016
1000     | EMB  | ADT  | 500   | 02-AUG-2016| 01-AUG-2016
1004     | REL  | GTR  | 140   | 01-AUG-2016| 01-AUG-2016
1001     | SIM  | HJT  | 140   | 01-JUL-2016| 28-JUL-2016
1002     | SIM  | ACT  | 540   | 04-JUL-2016| 04-JUL-2016
我不能使用
MAX(NUMBER\u ID)
MIN(NUMBER\u ID)
CREATED\u DT
之间的差异,因为某些数据丢失的风险很高。我可以使用Oracle
ROWID
column(系统列)列拆分记录而不丢失任何记录吗

谢谢你的帮助

分析函数可以帮助对行进行唯一排序和分块

示例模式

drop table test1;

create table test1(numberid number, created_dt date);

insert into test1
select level, sysdate - level * interval '1' second
from dual connect by level <= 100000;
分析函数可以帮助对行进行唯一排序和分块

示例模式

drop table test1;

create table test1(numberid number, created_dt date);

insert into test1
select level, sysdate - level * interval '1' second
from dual connect by level <= 100000;

@jonheller1您能告诉我为什么要在“trunc((row_number()over(order by created_dt desc)-1)/500)+1 batch_id”中使用“-1”?@Cool_Oracle这是为了处理一个错误。但CEIL更简单一些,所以我改变了我的答案。@jonheller1你能告诉我为什么在“trunc”((row_number()over(order by created_dt desc)-1)/500)+1 batch_id”中使用“-1”?@Cool_Oracle它是以一个错误处理的。但CEIL更简单,所以我对答案做了一点修改。