首页 > 数据库 >用SQL语句,删除掉重复项只保留一条

用SQL语句,删除掉重复项只保留一条

时间:2022-10-25 16:44:43浏览次数:46  
标签:语句 count group 删除 seq peopleId SQL vitae select

在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢

1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断

select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)

2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录

delete from people where peopleName in(select peopleName from people group by peopleName having count(peopleName) > 1) and peopleId not in (select min(peopleId) from people group by peopleName having count(peopleName) > 1)

3、查找表中多余的重复记录(多个字段)

select * from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) >1)

4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录

delete from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*) > 1)

5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录

select * from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*) > 1)

6.消除一个字段的左边的第一位:

update tableName set [title] = RIGHT([title],(len[title]) - 1) where title like '村%'

7.消除一个字段的右边的第一位:

update tableName set [title] = LEFT([title],(len[title]) - 1) where title like '村%'

 

标签:语句,count,group,删除,seq,peopleId,SQL,vitae,select
From: https://www.cnblogs.com/hanqingshun/p/16825377.html

相关文章

  • Mysql rank排名函数
    https://www.jianshu.com/p/776151cbba03https://blog.csdn.net/m0_60196931/article/details/125214918......
  • mysql08--索引管理
    一、索引理论ps:数据都是存在于硬盘上的,查询数据不可避免的需要进行IO操作#索引:就是一种数据结构,类似于书的目录。意味着以后在查询数据的应该先找目录再找数据,而......
  • 发现一款 SQL 自动检查神器,再也不用担心 SQL 出错了!
    YearningMYSQL是一个SQL语句审核平台。提供查询审计,SQL审核等多种功能,支持Mysql,可以在一定程度上解决运维与开发之间的那一环,功能丰富,代码开源,安装部署容易!开源地址h......
  • mybatis typehandler适配postgresql中的point数组数据类型
    mybatistypehandler适配postgresql中的point数组数据类型importlombok.extern.slf4j.Slf4j;importorg.apache.ibatis.type.BaseTypeHandler;importorg.apache.ibat......
  • SQLite REAL数据类型值比较问题
    SQLiteREAL数据类型值比较问题数据类型是REAL的字段,where条件where字段=值查询时,可能查询结果为空,使用whereabs(字段-值)<0.00001查询例子表结构字段名称......
  • linux下批量删除文件和文件夹
    批量删除trash下的文件夹和文件rsync--delete-before-dtmp/ trash/批量删除trash下的文件rsync--delete-before-a-H-v--progress--stats tmp/ trash/......
  • PostgreSQL 数组类型使用详解
    PostgreSQL数组类型使用详解PostgreSQL数组类型使用详解可能大家对PostgreSQL这个关系型数据库不太熟悉,因为大部分人最熟悉的,公司用的最多的是MySQL我们先对Postgr......
  • Linux 环境使用yum安装mysql8
    下载并安装Mysqlwget-i-chttps://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm下载后,执行安装yum-yinstallmysql80-community-release-el7-3......
  • 测试开发mysql性能调优总结(一)
    测试开发mysql性能调优总结mysql在创建表的时候,对每个字段选择合适的数据类型很重要!根据个人的经验总结:整数类型选择INT小数类型选择DECIMAL字符串类型选择TEXT日期......
  • mysql 不包含某个字符
    转载网址:https://blog.csdn.net/mp624183768/article/details/121696040?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~defa......