iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL如何消除重复行
  • 679
分享到

MySQL如何消除重复行

2024-04-02 19:04:59 679人浏览 安东尼
摘要

这篇文章给大家分享的是有关Mysql如何消除重复行的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。sql语句 ----------------全部字段重复-------------

这篇文章给大家分享的是有关Mysql如何消除重复行的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

sql语句


----------------全部字段重复------------------------
 --1使用表替换来删除重复项
 create table test_1(id int,value int);
 insert test_1 select 1,2 uNIOn all select 1,2 union all select 2,3;
 --建立一个和源表结构一样的空的临时表
 create table tmp like test_1;
 --向临时表插入不重复的记录
 insert tmp select distinct * from test_1;
 --删除原表
 drop table test_1;
 --更改临时表名为目标表
 rename table tmp to test_1;
 --显示
 mysql> select * from test_1;
+------+-------+
| id  | value |
+------+-------+
|  1 |   2 |
|  2 |   3 |
+------+-------+
 --2.添加auto_increment属性列(这个方法只能用于MyISAM或者BDB引擎的表)
 create table test_1(id int,value int) engine=MyISAM;
 insert test_1 select 1,2 union all select 1,2 union all select 2,3;
 alter table test_1 add id2 int not null auto_increment,
 add primary key(id,value,id2);
 select * from test_1;
+----+-------+-----+
| id | value | id2 |
+----+-------+-----+
| 1 |   2 |  1 |
| 1 |   2 |  2 |
| 2 |   3 |  1 |
+----+-------+-----+
  delete from test_1 where id2<>1;
  alter table test_1 drop id2;
  select * from test_1;
  +----+-------+
| id | value |
+----+-------+
| 1 |   2 |
| 2 |   3 |
+----+-------+
-------------------部分字段重复---------------------
--1.加索引的方式
 create table test_2(id int,value int);
 insert test_2 select 1,2 union all select 1,3 union all select 2,3;
 Alter IGNORE table test_2 add primary key(id);
 select * from test_2;
 +----+-------+
| id | value |
+----+-------+
| 1 |   2 |
| 2 |   3 |
+----+-------+
 我们可以看到 1 3 这条记录消失了 
 我们这里也可以使用Unique约束 因为有可能列中有NULL值,但是这里NULL就可以多个了..
 --2.联合表删除
 create table test_2(id int,value int);
 insert test_2 select 1,2 union all select 1,3 union all select 2,3;
 delete A from test_2 a join (select MAX(value) as v ,ID from test_2 group by id) b
 on a.id=b.id and a.value<>b.v;
 select * from test_2;
 +------+-------+
| id  | value |
+------+-------+
|  1 |   3 |
|  2 |   3 |
+------+-------+
--3.使用Increment_auto也可以就是上面全部字段去重的第二个方法
--4.容易错误的方法
--有些朋友可能会想到子查询的方法,我们来试验一下
 create table test_2(id int,value int);
 insert test_2 select 1,2 union all select 1,3 union all select 2,3;
 delete a from test_2 a where exists(select * from test_2 where a.id=id and a.value<value);
 
 
 目前,您不能从一个表中删除,同时又在子查询中从同一个表中选择。
 
 
 ------------------删除特定重复行--------------
 --主要通过order by +limit 或者直接limit 
 create table test_3(id int,value int);
 insert test_3 select 1,2 union all select 1,3 union all select 1,4 union all select 2,3;
 --这是要保留ID=1 value最小的那个记录,删除其他id为的记录
 delete from test_3 where id=1 order by value desc limit 2;
 select * from test_3;
+------+-------+
| id  | value |
+------+-------+
|  1 |   2 |
|  2 |   3 |
+------+-------+
 如果你只想删除任意的记录 保留一条 就可以去掉order by

感谢各位的阅读!关于“MySQL如何消除重复行”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL如何消除重复行

本文链接: https://www.lsjlt.com/news/54788.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL如何消除重复行
    这篇文章给大家分享的是有关MySQL如何消除重复行的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。sql语句 ----------------全部字段重复-------------...
    99+
    2024-04-02
  • MySQL怎么消除重复行
    这篇文章将为大家详细讲解有关MySQL怎么消除重复行,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。sql语句 ----------------全部字段重复--------...
    99+
    2024-04-02
  • mysql中怎么用distinct消除重复行
    在MySQL中,可以使用DISTINCT关键字来消除查询结果中的重复行。例如: SELECT DISTINCT column...
    99+
    2024-04-22
    mysql
  • mysql怎么消除重复行的关键字
    在MySQL中,可以使用关键字DISTINCT来消除重复行。例如,假设有一个名为employees的表,包含以下数据:```+---...
    99+
    2023-09-29
    mysql
  • MySQL 如何查找删除重复行
    目录一、如何查找重复行二、如何删除重复行三、如何查找多列上的重复四、错误的查询语句五、几种正确的方法一、如何查找重复行 第一步是定义什么样的行才是重复行。多数情况下很简单:它们某一...
    99+
    2024-04-02
  • pd.drop_duplicates如何删除重复行
    这篇文章主要介绍了pd.drop_duplicates如何删除重复行的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇pd.drop_duplicates如何删除重复行文章都会有所收获,下面我们一起来看看吧。dro...
    99+
    2023-07-02
  • mysql如何去除重复项
    这篇文章给大家分享的是有关mysql如何去除重复项的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体如下:说到这个去重,脑仁不禁得一疼,尤其是出具量比较大的时候。毕竟咱不是专业的...
    99+
    2024-04-02
  • 怎么在mysql中删除重复行
    今天就跟大家聊聊有关怎么在mysql中删除重复行,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。表relation create ...
    99+
    2024-04-02
  • 如何彻底消除了多重
    如何彻底消除了多重,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。先贴个阿里的《 Java 开发手册》中的一个规范我们先不探讨其...
    99+
    2024-04-02
  • oracle怎么消除重复数据
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-21
  • python 去除重复行
    from pandas import read_csv; df = read_csv('D://PA//4.3//data.csv') newDF = df.drop_duplicates(); ...
    99+
    2023-01-31
    python
  • MySQL中如何删除表重复记录
    本篇文章给大家分享的是有关MySQL中如何删除表重复记录,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 创建实验...
    99+
    2024-04-02
  • 批处理如何实现删除重复行
    这篇文章给大家分享的是有关批处理如何实现删除重复行的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。代码如下:@echo off :: 删除重复的行,但不能保留空行 :: 对不符合变量命名规则、变量个数超过限制的文本...
    99+
    2023-06-09
  • php数组怎么消除重复值
    在PHP开发中,数组是非常常用的一种数据类型。有时候,我们需要从一个数组中提取出不重复的值,这时候就需要用到去重操作了。PHP提供了多种方式可以对数组进行去重操作。一、使用array_unique()函数array_unique()函数是P...
    99+
    2023-05-19
  • MySQL 中如何删除单表重复记录
    本篇文章给大家分享的是有关MySQL 中如何删除单表重复记录,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、创建表test001 点击...
    99+
    2024-04-02
  • rabbitmq如何保证消息不重复消费
    RabbitMQ无法直接保证消息消费的唯一性,但可以通过以下几种方法来尽量避免消息的重复消费:1. 消费端手动确认:消费者从队列中取...
    99+
    2023-09-20
    rabbitmq
  • JAVA 如何实现大文本去除重复行
    这期内容当中小编将会给大家带来有关JAVA 如何实现大文本去除重复行,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。去重复行,用SQL写很简单,就一句SELECT DISTINCT … FROM。但...
    99+
    2023-06-03
  • MySQL如何查询重复记录并进行去重
    可以使用以下方法来查询重复记录并进行去重: 查询重复记录: SELECT column1, column2, COUNT...
    99+
    2024-03-06
    MySQL
  • mysql删除重复数据
    mysql删除重复数据分为两种情况: 一、以一个字段来唯一确定一条记录,可以用以下SQL来删除: delete glt_entity_tmp from glt_entity_tmp,(selec&...
    99+
    2024-04-02
  • php如何去除重复值
    这篇文章主要讲解了“php如何去除重复值”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何去除重复值”吧!php去除重复值的方法:1、使用“function more_array_un...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作