1樓:攜一人白手
可以用這條語句刪除重覆記錄
delete from
(select rownumber()
over (partition by 欄位名)from 表名) as e(rn) where rn<>1;
sql中如何刪除乙個表中重複的記錄?
2樓:
sql中刪除乙個表中的重覆記錄可以採用如下步驟:
1、把a_dist表的記錄用distinct去重,結果放到臨時表中。
select distinct * into #temp from a_dist;
2、把a_dist表的記錄全部刪除。
delete from a_dist;
3、把臨時表中的資料資訊導進到a_dist表中,並刪除臨時表。
insert into a_dist select * from #temp;
drop table #temp;
3樓:南北
資料庫去重複有以下三種方法:
1.兩條記錄或者多條記錄的每乙個字段值完全相同,這種情況去重複最簡單,用關鍵字distinct就可以去掉。
2.兩條記錄之間之後只有部分欄位的值是有重複的,但是表存在主鍵或者唯一性id。如果是這種情況的話用distinct是過濾不了的,這就要用到主鍵id的唯一性特點及group by分組。
3.兩條記錄之間之後只有部分欄位的值是有重複的,但是表不存在主鍵或者唯一性id。這種情況可以使用臨時表,講資料複製到臨時表並新增乙個自增長的id,在刪除重複資料之後再刪除臨時表。
4樓:匿名使用者
可以給你個想法,把不重複的多出來放到乙個臨時表中,刪除原表,再將臨時表的資料插入原表
5樓:匿名使用者
先刪後加
delete from a_dist where id ='1' and name= 'abc' 執行刪掉所有這樣的記錄,然後把資料記錄下來在新增一次
insert into a_dist values(1,'abc');
6樓:匿名使用者
如果記錄完全相同才算重覆記錄,那麼: (sql server2000下測試通過)
select distinct * into #tmpp from tid
delete from tid
insert into tid select * from #tmpp
drop table #tmpp
如果有id主鍵(數字,自增1的那種),那麼:(sql server2000下測試通過)
delete from tablea where id not in
(select id = min(id) from tablea group by name)
7樓:匿名使用者
還是跟著熱心網友混生活吧。
8樓:天之痕
delete 表 a wher rowid <>(max(rowid) from 表 b
where a.重複項=b.重複項 );
9樓:匿名使用者
create view a_dist_view as
select a.*, row_number() over(order by id, name) rn from a_dist as a
delete from a_dist_view where rn <> 1
sql資料庫**現重複行資料,如何刪除這些重覆記錄?
10樓:普實軟體
假設存在乙個產品資訊表products,其表結構如下:
create table products (
productid int,
productname nvarchar (40),
unit char(2),
unitprice money
)表中資料如圖:
圖中可以看出,產品chang和tofu的記錄在產品資訊表中存在重複。現在要刪除這些重複的記錄,只保留其中的一條。步驟如下:
第一步——建立一張具有相同結構的臨時表
create table products_temp (
productid int,
productname nvarchar (40),
unit char(2),
unitprice money
)第二步——為該錶加上索引,並使其忽略重複的值
方法是在企業管理器中找到上面建立的臨時表products _temp,單擊滑鼠右鍵,選擇所有任務,選擇管理索引,選擇新建。如圖2所示。
按照圖2中圈出來的地方設定索引選項
第三步——拷貝產品資訊到臨時表
insert into products_temp select * from products
伺服器: 訊息 3604,級別 16,狀態 1,行 1
已忽略重複的鍵。
它表明在產品資訊臨時表products_temp中不會有重複的行出現。
第四步——將新的資料匯入原表
將原產品資訊表products清空,並將臨時表products_temp中資料匯入,最後刪除臨時表products_temp。
delete products insert into products select * from products_temp drop table products_temp
這樣就完成了對錶中重覆記錄的刪除。無論表有多大,它的執行速度都是相當快的,而且因為幾乎不用寫語句,所以它也是很安全的
11樓:
一般情況下,資料庫去重複有以下那麼三種方法:
第一種:
兩條記錄或者多條記錄的每乙個字段值完全相同,這種情況去重複最簡單,用關鍵字distinct就可以去掉。例:
select distinct * from table
第二種:
兩條記錄之間之後只有部分欄位的值是有重複的,但是表存在主鍵或者唯一性id。如果是這種情況的話用distinct是過濾不了的,這就要用到主鍵id的唯一性特點及group by分組。例:
select * from table where id in (select max(id) from table group by [去除重複的欄位名列表,....])
第三種:
兩條記錄之間之後只有部分欄位的值是有重複的,但是表不存在主鍵或者唯一性id。這種情況可以使用臨時表,講資料複製到臨時表並新增乙個自增長的id,在刪除重複資料之後再刪除臨時表。例:
//建立臨時表,並將資料寫入到臨時表
select identity(int1,1) as id,* into newtable(臨時表) from table
//查詢不重複的資料
select * from newtable where id in (select max(id) from newtable group by [去除重複的欄位名列表,....])
//刪除臨時表
drop table newtable
12樓:何念壘
怕用別的方法刪除出錯的話,可以用 去重查詢,放到另一張表中,刪除後再放回去啊!
select distinct * into a from b 去重存另一張表
delete b-- 刪除b中資料
--放回資料
insert into b
select * from a
注意:分開執行!用go分開的話,有可能刪除資料,但因為語句沒結果而未完全刪除。
如何刪除資料庫中相同的記錄其中的一條,但要保留一條資料?
13樓:匿名使用者
建議這樣做,比較簡單,給表加乙個id欄位,預設自增,這樣不會影響表的其他結構,然後寫這樣的sql:
delete from demo where id in (select id from demo where id <> (select top 1 id from demo where name = 'name' and age = 'age') and name = 'name' and age = 'age')
雖然沒測試,不過感覺肯定可行!只是個建議,呵呵!
14樓:匿名使用者
select * from demo
sql語句刪除重複的記錄
在pdf檔案裡面怎樣刪除頁面,如何刪除pdf中的一頁 PDF檔案中的頁面怎麼刪除?
紙質的檔案,不要某些頁面了,找出來撕是哪一頁然後撕掉丟掉就可以了,在銷毀檔案時要撕毀避免洩露綱要資訊。檔案是電子檔。像pdf這種檔案裡面有需要刪除的頁面的方法就是在你檔案裡面選擇頁面,然後因為有編輯器工具,頁面上點選 編輯 工具,在欄目裡面點選 刪除 鍵,這是電子文件的刪除方式,是不是與我們常用的檔...
裡面如何設定自動生成目錄,WOrd裡面如何設定自動生成目錄
office學習技巧 word怎麼設定自動生成目錄? 影者東昇 工具 word2010 1 開啟word文件,按照下圖所示,進行標題格式設定2 如下圖所示,先點選引用,然後點選目錄,選擇內建格式3 目錄生成如下 挏嘅鰏敀湻瘜蓑 要想自動生成題目,打檔案時應設定題目格式。一 輸入題目時這樣操作 1 開...
裡面如何自動生成目錄,word裡面如何自動生成目錄
word中怎麼自動生成目錄 要想自動生成題目,打檔案時應設定題目格式。一 輸入題目時這樣操作 1 開啟word文件輸入題目時,點選單字型欄左側樣式視窗,選 題目1 並選好字型和字型大小 如果想在目錄中顯示二級題目,輸入二級題目時應選擇 題目2 2 輸入正文時,則應在樣式視窗選擇 正文 3 如果檔案已...
SQL刪除語句,刪除行,列,表,SQL語句如何刪除列?
刪除行delete from table where condition 例如delete from employeesswhere emp id 40 刪除employees表裡面 emp id為40的行刪除列alter table table drop column column 例如alter...
在企業裡面如何做好班長,在企業裡面如何做好乙個班長
在工廠,作為班組長要管理好下面的幾號人,並不是什麼難事 首先,不論做什麼,要求下去的東西一定要自己做出表率,不能有 只准州官防火,不准百姓點燈的事 出現,這是威信建立得第一步 第二,自己的業務能力要強,所謂業務能力就是指你對產品判定標準的熟悉程度,不要讓下面的人一問三不知,這是威信建立的第二步 第三...