access中如何將一張表內(nèi)其中一列中有重復(fù)的記錄按規(guī)則保留一條?
刪除重復(fù)記錄,有重復(fù)的記錄只保留一條,以運(yùn)行一條sql語句實(shí)現(xiàn)這個(gè)需求必須借助表中的唯一標(biāo)識(shí)列,例如自增id列、主鍵列、唯一索引列,否則只能借助其它手段例如應(yīng)用程序端編程或分多步走追加、刪除等。
下面SQL刪除查詢語句假設(shè)A表的ID列為自增id,運(yùn)行后即可實(shí)現(xiàn)題主的需求
delete from A where exists (
select 1 from
(select 姓名,min(ID) as minID from A
group by 姓名 having count(1)>1) t
where t.姓名=A.姓名 and A.IDt.minID);