Oracle中删除重复记录:
delete from table1 a where rowid > (select min(rowid) from table1 b where a.name1 = b.name1 and a.name2 = b.name2......);
还有一种查询重复记录的方法:
SELECT PM.* FROM T_BIC_PLY_MAIN PM
WHERE (PM.C_BIS_CODE, PM.C_DPT_CDE, PM.C_PROD_NO, PM.C_INSRNT_CERT_NO, PM.T_INSRNC_BGN_TM) IN
(SELECT P.C_BIS_CODE, P.C_DPT_CDE, P.C_PROD_NO, P.C_INSRNT_CERT_NO, P.T_INSRNC_BGN_TM
FROM T_BIC_PLY_MAIN P
GROUP BY P.C_BIS_CODE, P.C_DPT_CDE, P.C_PROD_NO, P.C_INSRNT_CERT_NO, P.T_INSRNC_BGN_TM
HAVING COUNT(1) > 1);
Oracle分页查询语句:
SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
WHERE ROWNUM <= 40
)
WHERE RN >= 21