sql去重保留一条sql语句删除重复的语句只留一条删除重复数据保留一条sql语句




sql去重保留一条sql语句删除重复的语句只留一条删除重复数据保留一条sql语句

2022-07-21 2:28:06 网络知识 官方管理员

sql去重保留一条(sql语句删除重复的语句只留一条)(1)

一、在mysql表有多条完全重复的记录,也无主键

1、给表增加一个自增长的列作为主键,这样的话,完全重复的数据就有了不一样的地方

 altertable表名addcolumnidintPRIMARYKEYAUTO_INCREMENT;`

2、删除重复的列中ID较小的那一个,保留较大的id

deletet1fromtestt1innerjointestt2wheret1.id<t2.idANDt1.sfzh=t2.sfzh

3、删除掉新增的主键ID

ALTERtable`表名`DROPcolumnid;

4、把原来表中的一列设置为主键

ALTERtable`表名`addPRIMARYKEY(user_role_id)

二、MSSQL

--查找sfzh重复的数据SELECT*fromSheet1wheresfzhin(SELECTsfzhfromSheet1GROUPBYsfzhHAVINGcount(*)>1)--删除重复记录,只保留ID号最大的一条deletefromSheet1wheresfzhin(selectsfzhfromSheet1groupbysfzhhavingcount(sfzh)>1)andidnotin(selectmax(id)fromSheet1groupbysfzhhavingcount(sfzh)>1)--查看全部记录SELECT*fromSheet1

发表评论:

最近发表
网站分类
标签列表