问题描述
这种情况:
CREATE SEQUENCE SEQ_tmpdata MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 2206 NOCACHE ORDER NOCYCLE NOKEEP NOSCALE GLOBAL;
CREATE TABLE TMP_DATA (
ID NUMBER(19,0) DEFAULT SEQ_tmpdata.nextval NOT NULL,COL_1 VARCHAR2(256 CHAR),COL_2 VARCHAR2(256 BYTE),COL_3 VARCHAR2(256 BYTE),COL_4 TIMESTAMP(6),COL_5 NUMBER(19,6),COL_6 VARCHAR2(256 BYTE)
);
insert into tmp_data (col_1,col_2,col_3,col_4,col_5,col_6) values ('phone','P1','RA',TO_TIMESTAMP('2020-06-29 00:00:00','YYYY-MM-DD HH24:MI:SS'),'2,555','tabla_tmp_2');
insert into tmp_data (col_1,'P3','MB',TO_TIMESTAMP('2020-06-01 00:00:00','5,3141','P4','RC',TO_TIMESTAMP('2020-06-18 00:00:00','15,8686','P11','45',TO_TIMESTAMP('2020-05-09 00:00:00','8,5812','tabla_tmp_1');
insert into tmp_data (col_1,'57',TO_TIMESTAMP('2020-02-19 00:00:00',362',col_6) values ('NO_VALUE','DE32','NO_VALUE',TO_TIMESTAMP('2019-06-01 00:00:00','29,32','tabla_tmp_3');
insert into tmp_data (col_1,'21',TO_TIMESTAMP('2020-03-12 00:00:00','6,1776','AS',TO_TIMESTAMP('2020-05-11 00:00:00','14,5556','P7',TO_TIMESTAMP('2020-04-09 00:00:00','7,2568','tabla_tmp_4');
insert into tmp_data (col_1,'A02',TO_TIMESTAMP('2020-05-17 00:00:00','4,4584','DE33','180','38',TO_TIMESTAMP('2020-02-23 00:00:00',6657','P9','18',TO_TIMESTAMP('2020-02-25 00:00:00',5658','DE34','260',TO_TIMESTAMP('2020-05-08 00:00:00',127',TO_TIMESTAMP('2020-04-12 00:00:00','9,0588','DE35','460','11,2971','P8',TO_TIMESTAMP('2020-04-16 00:00:00','16,7299','DE36','220','48',TO_TIMESTAMP('2020-04-26 00:00:00',2402','30',TO_TIMESTAMP('2020-03-27 00:00:00',4043','P10',TO_TIMESTAMP('2020-05-05 00:00:00',0002','12',TO_TIMESTAMP('2020-04-05 00:00:00',8953','A10',TO_TIMESTAMP('2020-04-14 00:00:00','13,9176',TO_TIMESTAMP('2020-06-26 00:00:00',7008',TO_TIMESTAMP('2020-03-05 00:00:00',336',TO_TIMESTAMP('2020-02-17 00:00:00',2724',TO_TIMESTAMP('2020-03-26 00:00:00','12,2274','DE37','229,'8',TO_TIMESTAMP('2020-04-02 00:00:00',8931',TO_TIMESTAMP('2020-06-20 00:00:00',9942','49',TO_TIMESTAMP('2020-04-06 00:00:00',2022',TO_TIMESTAMP('2020-03-23 00:00:00',6923','DE38','209,'tabla_tmp_4');
commit;
问题是: 我需要删除较旧的记录,按col_2,col_3和col_6分组,并按col_4排序。要让最后一个元素下注col_6。
想法是这样的:
我只是为了测试删除“ tabla_tmp_1”的旧记录而对此进行测试:
delete tmp_data f
where col_4 not in (
select max(col_4)
from tmp_data s
where f.col_1 = s.col_1
and f.col_2 = s.col_2
and f.col_3 = s.col_3
and col_6 = 'tabla_tmp_1'
and col_1 = 'phone'
and col_4 < to_date('27/09/2020','DD/MM/YYYY')
);
但不起作用。
有人可以帮我吗?
最诚挚的问候
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)