delete from test  where id in (select id from (select  max(id) as id,count(text) as count from test group by text having count >1 order by count desc) as tab )



测试代码


 INSERT IGNORE INTO test_1(text,text2) values ('1111','22222');
 INSERT IGNORE INTO test_1(text,text2) values ('1111','22222');
 INSERT IGNORE INTO test_1(text,text2) values ('1111','22222');
 INSERT IGNORE INTO test_1(text,text2) values ('1111','22222');
 INSERT IGNORE INTO test_1(text,text2) values ('1111','22222');
 INSERT IGNORE INTO test_1(text,text2) values ('1111','33333');
 INSERT IGNORE INTO test_1(text,text2) values ('1111','33333');
 INSERT IGNORE INTO test_1(text,text2) values ('1111','33333');
 INSERT IGNORE INTO test_1(text,text2) values ('1111','33333');
 INSERT IGNORE INTO test_1(text,text2) values ('1111','33333');
 INSERT IGNORE INTO test_1(text,text2) values ('1111','33333');
 INSERT IGNORE INTO test_1(text,text2) values ('1111','33333');

 INSERT IGNORE INTO test_1(text,text2) values ('22222','33333');
 INSERT IGNORE INTO test_1(text,text2) values ('22222','33333');
 INSERT IGNORE INTO test_1(text,text2) values ('22222','33333');
 INSERT IGNORE INTO test_1(text,text2) values ('22222','33333');
 INSERT IGNORE INTO test_1(text,text2) values ('22222','33333');
 INSERT IGNORE INTO test_1(text,text2) values ('22222','33333');


 REPLACE  INTO test(text) values ('1111')

delete from test

select * from test_1 where text='1111'
select * from test_1 where text='22222'

while 
delete from test_1  where id in (select id from (select  max(id) as id,count(text) as count from test_1 where text = '22222' group by text,text2 having count >1 order by count desc) as tab );

delete from test_1  where id in (select id from (select  max(id) as id,count(text) as count from test_1 where text = '22222' group by text,text2 having count >1 order by count desc) as tab );
delete from test_1  where id in (select id from (select  max(id) as id,count(text) as count from test_1 where text = '22222' group by text,text2 having count >1 order by count desc) as tab );
delete from test_1  where id in (select id from (select  max(id) as id,count(text) as count from test_1 where text = '22222' group by text,text2 having count >1 order by count desc) as tab );
delete from test_1  where id in (select id from (select  max(id) as id,count(text) as count from test_1 where text = '22222' group by text,text2 having count >1 order by count desc) as tab );
delete from test_1  where id in (select id from (select  max(id) as id,count(text) as count from test_1 where text = '22222' group by text,text2 having count >1 order by count desc) as tab );
delete from test_1  where id in (select id from (select  max(id) as id,count(text) as count from test_1 where text = '22222' group by text,text2 having count >1 order by count desc) as tab );
delete from test_1  where id in (select id from (select  max(id) as id,count(text) as count from test_1 where text = '22222' group by text,text2 having count >1 order by count desc) as tab );

MYSQL 当有两条重复数据时 保留一条的更多相关文章

  1. 【MySQL】测试MySQL表中安全删除重复数据只保留一条的相关方法

    第二篇文章测试说明 开发测试中,难免会存在一些重复行数据,因此常常会造成一些测试异常. 下面简单测试mysql表删除重复数据行的相关操作. 主要通过一下三个大标题来测试说明: 02.尝试删除dept_ ...

  2. mysql删除重复数据只保留一条

    mysql删除重复数据只保留一条 新建一张测试表: CREATE TABLE `book` ( `id` char(32) NOT NULL DEFAULT '', `name` varchar(10 ...

  3. 面试题中经常遇到的SQL题:删除重复数据,保留其中一条

    如题,解决思路如下: 1.首先我们需要找出拥有重复数据的记录 ---以name字段分组 select Name,COUNT(Name) as [count] from Permission group ...

  4. oracle删除重复数据只保留一条

    -- 如表role_user的数据 ROLEID USERID -- 删除相同记录只剩下一条记录 根据两个字段查询重复数据 (roleid,userid) ) 删除重复数据只保留一条 delete f ...

  5. mysql语句删除重复数据,保留一条;查询所有重复数据;查询重复数据的一条,

    //显示重复的所有条 SELECT * FROM 表名 WHERE (字段1,字段2,...) IN (SELECT 字段1,字段2,...FROM 表名 GROUP BY 字段1,字段2,... H ...

  6. mysql 删除重复数据只保留一条记录

    删除重复数据保留name中id最小的记录 delete from order_info where id not in (select id from (select min(id) as id fr ...

  7. MySQL中删除重复数据只保留一条

    用SQL语句,删除掉重复项只保留一条 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 SELECT ...

  8. SQL Server 删除重复数据只保留一条

    DELETE FROM Bus_TerminalMessage_Keywords WHERE Content IN (select Content from Bus_TerminalMessage_K ...

  9. SQL删除重复数据只保留一条

    用SQL语句,删除掉重复项只保留一条 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select ...

随机推荐

  1. cameralink---格式 概要清晰理解

    DS90CR288 和DS90CR286共同组成LVDS收发对, LVDS: 4对数据+1对时钟 TTL: 时钟线1:clk 并行总线共27根: 同步线2:一根场同步,一根行同步 空闲: 1 数据线2 ...

  2. 利用while(code!=EOF){}来实现“无限”循环

    #include <stdio.h>int main(){    char a,b,c;    char t;    while(scanf("%c%c%c",& ...

  3. python三级菜单

    #-*- coding:utf-8 -*-#Author:gxli #一级菜单项def menu(): #遍历字典dic一级菜单 print('-----------一级菜单------------- ...

  4. win32 sdk显示一个载入的位图的方法

    注:整理自网络文档 (1)加载位图 HANDLE LoadImage(HINSTANCE 来源实体,LPCTSTR 名称,UINT 位图类型, int 加载宽度,int 加载高度,UINT 加载方式) ...

  5. css3之圆角效果 border-radius

    圆角效果 border-radius  border-radius是向元素添加圆角边框. 使用方法: border-radius:10px; /* 所有角都使用半径为10px的圆角 */ border ...

  6. 搭建SpringMVC+MyBatis开发框架一

    大部分 Java 应用都是 Web 应用,展现层是 Web 应用不可忽略的重要环节.Spring 为展现层提供了一个优秀的 Web 框架—— Spring MVC.和众多其他 Web 框架一样,它基于 ...

  7. android activity之间传递返回值

    activity A,跳转至 Activity B ,A传参数user_name给B,然后B再返回修改后的参数user_name给A 首先A传user_name给B Intent input_B = ...

  8. Jquery.ajax(……)

    ajax 详细解释:http://www.cnblogs.com/mybest/archive/2011/12/13/2285730.html: 问题描述:页面发送ajax请求,服务器端返回代码总是进 ...

  9. 【BZOJ】【2245】【SDOI2011】工作安排

    网络流/费用流 裸题吧……直接建模就好了……所谓的“分段函数”就是吓唬你的,其实就是对于每个人分开建几条流量不同.费用不同的弧而已. 对每种产品,连S->i ,(c[i],0):对每个工作人员 ...

  10. jquery $.ajax方法

    $.ajax({ timeout: 3000, cache:false, global:false, type: "POST", url: WEB_URL+"/logic ...