专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

mysql数据查询分组,MySQL数据库如何删除重复数据_数据库

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/5 16:07:27       共计:3602 浏览
mysql数据查询分组,MySQL数据库如何删除重复数据?

楼主的问题是如何删除重复数据仅保留其中一条,接下来就介绍一下如何实现该需求。

数据准备

示例表 Student_Information 如下 :

我们插入一部分数据到该表,其中存在多条姓名为 Anaa 的手机号码重复数据,如下:

入库后数据如下:

设计删除SQL

我们通过Group by对手机号进行分组,然后计算每组最大ID作为保留数据,然后删除其他数据。SQL设计如下:

执行该SQL,结果如下:

我们可以看到,该SQL删除了重复的数据时,并且保留了id最大的数据(最新数据)。

设计该SQL时需要注意什么?

我们需要注意,使用 MySQL 进行 Delete From 操作时,若子查询的 FROM 字句和更新、删除对象使用同一张表时,会出现"You can't specify target table for update in FROM clause”。错误。

比如,我们设计如下SQL,该SQL从语法来看也是实现删除 Student_Information 表重复数据,我们执行一下看下结果。

执行结果如下,我们可以看到抛出了"You can't specify target table for update in FROM clause”错误,那么该如何解决呢?

解决这个问题的方法也很简单,就是将 select 出的结果通过中间表再 select 一遍即可,如下:

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:mysql查询信息显示为,如何查看mysql执行过的语句_数据库 | ·下一条:mysql查询跨表数据,server_数据库

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有