最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

數(shù)據(jù)庫刪除完全重復(fù)和部分關(guān)鍵字段重復(fù)的記錄

 更新時間:2008年05月08日 22:19:14   作者:  
重復(fù)記錄分為兩種,第一種是完全重復(fù)的記錄,也就是所有字段均重復(fù)的記錄,第二種是部分關(guān)鍵字段重復(fù)的記錄,例如Name字段重復(fù),而其它字段不一定重復(fù)或都重復(fù)。
1、第一種重復(fù)很容易解決,不同數(shù)據(jù)庫環(huán)境下方法相似: 

以下為引用的內(nèi)容:
Mysql 

create table tmp select distinct * from tableName; 

drop table tableName; 

create table tableName select * from tmp; 

drop table tmp; 


SQL Server 

select distinct * into #Tmp from tableName; 

drop table tableName; 

select * into tableName from #Tmp; 

drop table #Tmp; 

Oracle 

create table tmp as select distinct * from tableName; 

drop table tableName; 

create table tableName as select * from tmp; 

drop table tmp; 



發(fā)生這種重復(fù)的原因是由于表設(shè)計不周而產(chǎn)生的,增加唯一索引列就可以解決此問題。 

2、此類重復(fù)問題通常要求保留重復(fù)記錄中的第一條記錄,操作方法如下。 假設(shè)有重復(fù)的字段為Name,Address,要求得到這兩個字段唯一的結(jié)果集 

Mysql 

以下為引用的內(nèi)容:
alter table tableName add autoID int auto_increment not null; 

create table tmp select min(autoID) as autoID from tableName group by Name,Address; 

create table tmp2 select tableName.* from tableName,tmp where tableName.autoID = tmp.autoID; 

drop table tableName; 

rename table tmp2 to tableName; 

SQL Server 

select identity(int,1,1) as autoID, * into #Tmp from tableName; 

select min(autoID) as autoID into #Tmp2 from #Tmp group by Name,Address; 

drop table tableName; 

select * into tableName from #Tmp where autoID in(select autoID from #Tmp2); 

drop table #Tmp; 

drop table #Tmp2; 

Oracle 

DELETE FROM tableName t1 WHERE t1.ROWID > (SELECT MIN(t2.ROWID) FROM tableName t2 WHERE t2.Name = t1.Name and t2.Address = t1.Address); 

 


說明: 

1. MySQL和SQL Server中最后一個select得到了Name,Address不重復(fù)的結(jié)果集(多了一個autoID字段,在大家實際寫時可以寫在select子句中省去此列) 

2. 因為MySQL和SQL Server沒有提供rowid機制,所以需要通過一個autoID列來實現(xiàn)行的唯一性,而利用Oracle的rowid處理就方便多了。而且使用ROWID是最高效的刪除重復(fù)記錄方法。

相關(guān)文章

  • neo4j安裝配置入門教程

    neo4j安裝配置入門教程

    這篇文章主要為大家詳細介紹了neo4j安裝配置入門教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • 如何查看Navicat加密的數(shù)據(jù)庫密碼

    如何查看Navicat加密的數(shù)據(jù)庫密碼

    本機裝的MySQL數(shù)據(jù)庫密碼忘記了,打開了Navicat連接過數(shù)據(jù)庫,不過密碼是加密的,怎么辦呢?今天小編給大家分享如何查看Navicat加密的數(shù)據(jù)庫密碼,感興趣的朋友一起看看吧
    2023-04-04
  • sql join on 用法

    sql join on 用法

    非常不錯使用join on實現(xiàn)數(shù)據(jù)庫字段的連接輸出效果。
    2009-07-07
  • 單機離線部署OceanBase3.1.5詳解

    單機離線部署OceanBase3.1.5詳解

    文章詳細介紹了如何下載、安裝和配置OceanBase數(shù)據(jù)庫,包括配置OBD、修改配置文件、指定版本啟動、修改limits.conf、部署安裝、啟動OceanBase、安裝obclient、創(chuàng)建用戶租戶等步驟
    2024-11-11
  • SQL SERVER 里的錯誤處理(try catch)

    SQL SERVER 里的錯誤處理(try catch)

    SQL SERVER里,也有TRY CATCH。格式如下
    2009-02-02
  • Hadoop 2.x偽分布式環(huán)境搭建詳細步驟

    Hadoop 2.x偽分布式環(huán)境搭建詳細步驟

    這篇文章主要為大家詳細介紹了Hadoop 2.x偽分布式環(huán)境搭建詳細步驟,感興趣的朋友可以參考一下
    2016-05-05
  • 大數(shù)據(jù)時代的數(shù)據(jù)庫選擇:SQL還是NoSQL?

    大數(shù)據(jù)時代的數(shù)據(jù)庫選擇:SQL還是NoSQL?

    執(zhí)行大數(shù)據(jù)項目的企業(yè)面對的關(guān)鍵決策之一是使用哪個數(shù)據(jù)庫,SQL還是NoSQL?SQL有著驕人的業(yè)績,龐大的安裝基礎(chǔ);而NoSQL正在獲得可觀的收益,且有很多支持者。我們來看看兩位專家對這個問題的看法
    2014-03-03
  • GaussDB數(shù)據(jù)庫使用COPY命令導(dǎo)入導(dǎo)出數(shù)據(jù)的場景分析

    GaussDB數(shù)據(jù)庫使用COPY命令導(dǎo)入導(dǎo)出數(shù)據(jù)的場景分析

    使用COPY命令可以方便地導(dǎo)入數(shù)據(jù)到GaussDB,GaussDB還提供了其他數(shù)據(jù)導(dǎo)入工具和功能,如使用GDS導(dǎo)入數(shù)據(jù)、使用INSERT多行插入、使用gsql元命令導(dǎo)入數(shù)據(jù)、ETL工具集成等,以滿足不同場景下的數(shù)據(jù)導(dǎo)入需求,對GaussDB COPY命令相關(guān)知識感興趣的朋友一起看看吧
    2024-01-01
  • 最近關(guān)于Navicat到期的完美解決辦法(親測有效)

    最近關(guān)于Navicat到期的完美解決辦法(親測有效)

    這篇文章主要介紹了最近關(guān)于Navicat到期的完美解決辦法(親測有效),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • Sybase 復(fù)制與熱切換數(shù)據(jù)

    Sybase 復(fù)制與熱切換數(shù)據(jù)

    SYBASE復(fù)制服務(wù)器(Sybase Replication Server)用來滿足日益發(fā)展的企業(yè)客戶/服務(wù)器計算機環(huán)境的需要。自從復(fù)制服務(wù)器被廣泛應(yīng)用以來,已成為企業(yè)范圍內(nèi)客戶/服務(wù)器應(yīng)用模式的基礎(chǔ)。
    2009-06-06

最新評論

玉田县| 当雄县| 封开县| 贡嘎县| 嘉定区| 曲阜市| 大关县| 龙胜| 南汇区| 绥滨县| 江永县| 西畴县| 昭苏县| 贺兰县| 察隅县| 班玛县| 平安县| 达孜县| 枣阳市| 漳平市| 忻州市| 九寨沟县| 淳化县| 汕尾市| 星子县| 明星| 盈江县| 巴中市| 金寨县| 兴海县| 清流县| SHOW| 阆中市| 宁海县| 阿坝| 惠来县| 朝阳市| 越西县| 武川县| 沐川县| 晋州市|