GROUP分组去除重复数据

/**

* 清除同一专题中重复导入的数据

* @author tanteng

* @date 2014.07.27

*/

public function fuck_repeat(){

set_time_limit(0);

$sql = "SELECT `id` FROM `v95_special_content` GROUP BY `specialid`,`curl` HAVING COUNT(`curl`)>1 ";

$result = $this->db->query($sql);

while ($r = mysql_fetch_assoc($result)) {

$ids[] = $r['id'];

}

$ids = implode(",", $ids);

if (!$ids) {

showmessage('没有重复数据!',HTTP_REFERER);exit;

}

$sql2 = "DELETE from `v95_special_content` where `id` in($ids) ";

$this->db->query($sql2);

showmessage('执行成功,删除了'.$this->db->affected_rows().'条重复数据!',HTTP_REFERER);

}

我们分析一下这条sql语句:

SELECT `id` FROM `v95_special_content` GROUP BY `specialid`,`curl` HAVING COUNT(`curl`)>1

这里根据两个字段进行了分组,分别是specialid和curl,就是说这两个字段同时相同的作为条件查询,having是group语句的条件,相当于where,后面就是计算这样的条数。

利用mysql的group分组就实现了去除数据库中多个字段相同的重复数据的操作。

补充:当然还可以使用distinct这个关键字来过滤掉多余的重复记录只保留一条

table

id name

1 a

2 b

3 c

4 c

5 b

select distinct name from table

得到的结果是:

name

a

b

c

好像达到效果了,可是,我想要得到的是id值呢?改一下查询语句吧

select *, count(distinct name) from table group by name

结果:

id name count(distinct name)

1 a 1

2 b 1

3 c 1

mysql分组去掉重复记录_MYSQL中GROUP分组去除重复数据相关推荐

  1. mysql用一条sql语句删除重复记录_mysql中删除重复记录,并保留重复数据中的一条数据的SQL语句...

    正好想写一条删除重复语句并保留一条数据的SQL,网上查了一部分资料写的很详细,但还是在这里写下自己的理解,以遍后续学习 .如下: 表字段和数据: SQL语句: DELETE FROM`user`WHE ...

  2. mysql group by 去除重复_mysql中distinct和group by过滤删除重复行

    下面先来看看例子: 代码如下 table id name 1 a 2 b 3 c 4 c 5 b 库结构大概这样,这只是一个简单的例子,实际情况会复杂得多. 比如我想用一条语句查询得到name不重复的 ...

  3. signalr中Group 分组群发消息的简单使用

    前一段时间写了几篇关于signalr的文章 1.MVC中使用signalR入门教程 2.mvc中signalr实现一对一的聊天 3.Xamarin android中使用signalr实现即时通讯 在平 ...

  4. java 集合自定义元素_java集合 collection-list-ArrayList 将自定义对象作为元素存到ArrayList集合中,并去除重复元素。...

    import java.util.*;/*将自定义对象作为元素存到ArrayList集合中,并去除重复元素. 比如:存人对象.同姓名同年龄,视为同一个人.为重复元素. 思路: 1,对人描述,将数据封装 ...

  5. mysql去掉两个最高分_MySQL中查询、删除重复记录的方法大全

    前言 本文主要给大家介绍了关于MySQL中查询.删除重复记录的方法,分享出来供大家参考学习,下面来看看详细的介绍: 查找所有重复标题的记录: select title,count(*) as coun ...

  6. mysql中筛选不重复值_MYSQL中筛选不重复记录值的示例

    我的wordpress数据库中的wp_postmeta表都有10,000多行了,如果使用两次循环查找判断,虽然我们不累,但是程序运行很累啊. 如果我想用一条语句查询得到name不重复的所有数据,那就必 ...

  7. mysql删除重复的判断_MySQL中查询、删除重复记录一共有多少种方法?

    前言 本文主要给大家介绍了关于MySQL中查询.删除重复记录的方法,分享出来供大家参考学习,下面来看看详细的介绍: 查找所有重复标题的记录: select title,count(*) as coun ...

  8. mysql删除重复文章标题_MySQL中查询、删除重复记录的方法大全

    前言 本文主要给大家介绍了关于MySQL中查询.删除重复记录的方法,分享出来供大家参考学习,下面来看看详细的介绍: 查找所有重复标题的记录: 一.查找重复记录 1.查找全部重复记录 2.过滤重复记录( ...

  9. mysql中和compute同等作用的_MYSQL中Group By的原理和用法

    合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句. GROUP BY 语句 GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组. SQL GROUP BY 语法 ...

  10. mysql分组语句的子句_MySQL 中的排序与分组 语句

    MySQL ORDER BY 排序 我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据,如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 ORDER BY 子句来设 ...

最新文章

  1. php中如何写js代码提示_PHP 如何编写类似js中alert() 提示框
  2. easyui js解析字符串_js相关:详解Jquery Easyui的验证扩展
  3. 脚本语言和编程语言的区别
  4. Sad Angel (悲伤的天使)-Игорь Крутой
  5. 教师计算机excel培训教案,Excel培训教案..doc
  6. 2013-11-11 Oracle 课堂测试 练习题 例:BULK COLLECT及return table
  7. 【SpringCloud从0到6】 第一节:初识微服务微服务的雪崩效应
  8. BarTender的集成小结
  9. 如何布局电子商务网站
  10. HTML实现页面注册
  11. unity拖拽drag_【UGUI】UGUI的Drag拖拽与游戏物体的Drop进行交互
  12. 【二】如何用Python创建一个docx文档
  13. JZOJ 4252. 【五校联考7day2】QYQ的图
  14. 两分钟理解RAFT光流中的相关层
  15. 螺旋传动设计系统lisp_螺旋传动的设计计算.pdf
  16. JVM内存结构和垃圾回收机制
  17. CET-6--2018.12--1
  18. 小i机器人用AI打造金融业认知智能企业
  19. Segment,Packet,Frame等区别与联系
  20. 使用Swagger自动生成接口文档

热门文章

  1. Wireshark系列之7 利用WinHex还原文件
  2. 书籍-Linux运维之道
  3. miui11是android几,miui11是安卓几
  4. codeIgniter3 学习笔记四(文件上传)
  5. PHP字符串部分方法
  6. 全网首发:怎样制作CDKEY(7)-新思路
  7. 编程基本功:不要患上词汇匮乏症
  8. Linux系统里存在两个剪切板
  9. 公司欠薪,一定要书面督促或仲裁后,再离职
  10. Eclipse/NSight: methond could not resolved