利用的是底下的不二诀要可去除,假诺重复的是test数据库中的title字段
 

背景介绍

复制代码 代码如下:

不久前在统一计划数据库的时候因为伊始思索不周,所以发生了汪洋的双重数据。未来必要把那一个重新的数据删除掉,使用到的言语正是Group
By来变成。为了进一步了然那条语句的服从,小编绸缪先从轻易入手。

create table bak as (select * from test group by title having count(*)=1);     
insert into bak (select * from test group by title having count(*)>1);        
truncate table test;        
insert into test select * from bak;

建三个测试表

你或者感兴趣的篇章:

  • mysql查找删除重复数据并只保留一条实例详解
  • Mysql删除重复的数量
    Mysql数据去重新
  • MySQL中去除重复数据的简易方法
  • 删除MySQL重复数据的章程
  • MySQL
    删除数据库中重新数据格局小结
  • MYSQL删除重复数据的轻便方法
  • MySQL数据库中去除重复记录的点子计算[推荐]
  • Mysql删除重复数据保存最小的id
    的消除方法

复制代码 代码如下:

create table test_group(id int auto_increment primary key, name
varchar(32), class varchar(32), score int);

查看表结构

desc test_group

ca88会员登录入口 1

插入数据

ca88会员登录入口 2

测试初叶

本身想懂稳妥前每3个班级内部最高分数的同桌是什么人。

复制代码 代码如下:

select name, class , max(score) from test_ca88会员登录入口,group group by class;

ca88会员登录入口 3

好以往得以插入几条重复的数码。

复制代码 代码如下:

insert into test_group(name, class, score)values(‘repeat’,’B’,89);

ca88会员登录入口 4
现行反革命要过滤掉重复的数量,保留最新的那条记下。一般大家如若最新的记录是最终插入的那条,所以它的ID应该是最大的那条。

复制代码 代码如下:

select name, class, max(id) from test_group group by name;

ca88会员登录入口 5

可以窥见,我们关怀那多少个项的重复性就把它放到gourp
by后边。那样我们就足以过滤掉那个与这么些项重复的记录啦。以往我们获得了我们须求的数量,大家下一步正是把那多少个重复的数目删除。为了差别大家过滤出来的数码记录与原来的记录,大家能够给id取二个外号。

复制代码 代码如下:

select name, class, max(id) as max_id from test_group group by name;

ca88会员登录入口 6

下一步正是把那么些关切的数码保存下去,小编先把这一个数据的id领到出来。因为那些是唯壹明确一条记下的。

复制代码 代码如下:

select max_id from (select name, class, max(id) as max_id from
test_group group by name)b;

ca88会员登录入口 7

上面正是去除操作了。思路便是去除那个数据ID不在大家询问结果里面包车型大巴笔录。为了便于操作后对数码的自查自纠,小编先实行三回全部询问。

复制代码 代码如下:

select * from test_group;

ca88会员登录入口 8

实行删除操作。

复制代码 代码如下:

delete from test_group where id not in (select max_id from (select
name, class, max(id) as max_id from test_group group by name)b);

最后查看结果。

ca88会员登录入口 9

总结

MySQL操作照旧很灵敏的,从前一直尊崇用O昂CoraM以往以为到间接动用MYSQL省去了成百上千事。假让你有越来越好更急迅的不二等秘书诀就请您大饱眼福分享呢~~

上述正是本文的全体内容,希望对大家的学习抱有协理,也希望我们多多帮助脚本之家。

您大概感兴趣的篇章:

  • Mysql利用group by分组排序
  • MySQL5.七 group
    by新性情报错1055的消除办法
  • sql中 order by 和 group
    by的区别
  • mysql group by having
    实例代码
  • Mysql中错误使用SQL语句Groupby被包容的情状
  • mysql使用GROUP
    BY分组达成取前N条记录的艺术
  • MySQL优化GROUP
    BY(松散索引围观与紧密索引围观)
  • MySQL分组查询Group
    By实现原理详解
  • SQL GROUP BY
    详解及简便实例

Author

发表评论

电子邮件地址不会被公开。 必填项已用*标注