高效快速删除Oracle表中重复记录
Jun 07, 2016 pm 04:21 PM以前的一篇删除重复记录的虽然还不错 但是在我遇到重量级的大表时还是显的力不从心,不小心想到一种新的方法 思路1、保存不重复的记录 2、保存重复记录中的一个rowid //3、删除原表中rowid不为步骤2中rowid的记录 ,留下重复数据中的一条 3.找出记录中rowid
以前的一篇删除重复记录的虽然还不错 但是在我遇到重量级的大表时还是显的力不从心,不小心想到一种新的方法
思路1、保存不重复的记录
2、保存重复记录中的一个rowid
//3、删除原表中rowid不为步骤2中rowid的记录 ,,留下重复数据中的一条
3.找出记录中rowid为步骤2中rowid的记录
4 、1和3数据连接就是所要的数据了
具体操作例子
第一步:
SQL> create table xxfgs_sig as (select imeid imeid,max(dn) dn,max(xlh) xlh,max(pro_name) pro_name,max(area_name) area_na
me,max(brand) brand,max(m_type) m_type from xxfgs group by imeid having count(*)
第二步:
SQL> create table xxfgs_row as (select max(rowid) rowdata,imeid from xxfgs group by imeid having count(*)>1);
//第三步:////可以考虑给meid建索引
//SQL>delete from xxfgs where rowid not in (select rowdata from xxfgs_row);
//或者
//SQL>delete from xxfgs a where a.rowid (select rowdata from xxgs_row b where a.meid=b.meid)。

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Berfungsi untuk mengira bilangan hari antara dua tarikh dalam oracle

Berapa lama log pangkalan data Oracle akan disimpan?

Urutan langkah permulaan pangkalan data oracle ialah

Keperluan konfigurasi perkakasan pelayan pangkalan data Oracle

Bagaimana untuk melihat bilangan kemunculan watak tertentu dalam Oracle

Berapa banyak memori yang diperlukan oleh oracle?

Bagaimana untuk menggantikan rentetan dalam oracle
