欢迎光临 - 我的站长站,本站所有资源仅供学习与参考,禁止用于商业用途或从事违法行为!

数据库教程

查询重复数据,并且删除只保留一条SQL语法

数据库教程 我的站长站 2023-10-12 共42人阅读

首先是sql查询重复数据语法

SELECT * FROM [表名] WHERE [字段] IN (
    SELECT [字段] FROM [表名] GROUP BY [字段] HAVING COUNT([字段]) > 1
);


然后就是删除重复数据,只保留一条ID最小的数据

DELETE FROM [表名] WHERE id IN (
    SELECT * FROM (
        SELECT id FROM [表名] WHERE [字段] 
        IN (
            SELECT [字段] FROM [表名] GROUP BY [字段] HAVING COUNT(1) > 1
        ) AND id NOT IN (
            SELECT MIN(id) FROM [表名] GROUP BY [字段] HAVING COUNT(1) > 1
        )
    ) AS table_repeat_copy
);


相关推荐
  • sql删除
  • sql查询
  • 查询重复数据,并且删除只保留一条SQL语法

    首先是SQL查询重复数据语法SELECT * FROM [表名] WHERE [字段] IN ( SELECT [字段] FROM [表名] GROUP BY [字段] HAVING COUNT([字段]) > 1);然后就是删除重复数据,只保留一条ID最小的数据DELETE FROM [表名] WHERE id IN ( SELECT * FROM ( ...

    数据库教程 42 1年前
  • SQL中的3种删除语法详解

    DROP教程DROP TABLE test;删除表test,并释放空间,将test删除的一干二净。TRUNCATE教程TRUNCATE test;删除表test里的内容,并释放空间,但不删除表的定义,表的结构还在。DELETE教程1、删除指定数据删除表test中年龄等于30的且国家为US的数据DELETE FROM tes...

    数据库教程 204 4年前
  • 删除数据库详解教程

    在MySQL通过DELETE语句删除数据表中的数据。在此,我们先准备一张数据表,代码如下:-- 创建学生表 create table student( id int, name varchar(30), age int, gender varchar(30) ); -- 插入数据 insert into student (id,name,age,gender) values (2,&...

    数据库教程 62 3年前
  • SQL增加、删除字段语法分享

    分享过增删改查,这次我的站长站分享一下SQL增加、删除字段的语法,注意是增加、删除字段,不是数据。增加表中的字段方法在SQL中增加表中的字段可以通过使用 ALTER TABLE 语句来实现。语法:ALTER TABLE table_name ADD column_name data_type [constraints...

    数据库教程 8 4周前
  • 查询重复数据,并且删除只保留一条SQL语法

    首先是SQL查询重复数据语法SELECT * FROM [表名] WHERE [字段] IN ( SELECT [字段] FROM [表名] GROUP BY [字段] HAVING COUNT([字段]) > 1);然后就是删除重复数据,只保留一条ID最小的数据DELETE FROM [表名] WHERE id IN ( SELECT * FROM ( ...

    数据库教程 42 1年前
  • sql查询统计字段重复次数语法

    查询 table_name 表中 field2 字段的值,并找出出现次数大于1的记录。同时,该查询还会显示 field1 字段的值和该字段对应的 field2 记录中的重复次数。SELECT field1, field2, COUNT(field2) FROM table_name GROUP BY field2 HAVING COUNT(field2)>1;...

    数据库教程 42 1年前
  • SQL新手入门SELECT数据库查询语句

    SELECT语义SELECT 语句用于从数据库中选取数据。结果被存储在一个结果表中,称为结果集。SELECT语法示例SELECT column_name,column_name FROM table_name;SELECT * FROM table_name;下面的 SQL 语句从 "Websites" 表中选取 "name" 和 "country" 列:SEL...

    数据库教程 129 4年前
  • WHERE条件过滤查询

    WHERE语义WHERE语句用于条件过滤查询记录,提取那些满足指定条件的记录。WHERE 语法SELECT column_name,column_name FROM table_name WHERE column_name operator value;查询table_name表中的WHERE等于column_name条件的记录。...

    数据库教程 86 4年前
  • MySQL数据表查询入门教程

    简单查询即不含where的select语句。在此,我们讲解简单查询中最常用的两种查询:查询所有字段和查询指定字段。在此,先准备测试数据,代码如下:-- 创建数据库DROP DATABASE IF EXISTS mydb;CREATE DATABASE mydb;USE mydb;-- 创建student表CREATE TABLE stud...

    数据库教程 147 3年前