表结构:

需求:找到相同的内容并删除

方法1:

通过分组找出筛选出count大于1的数据

select r_content, r_userid, count(*) from reviews GROUP BY r_content, r_userid having count(*) > 1

group by可以利用聚合函数(count、 sum、 avg)进行分组

having 对分组的数据进行下一步筛选

 通过inner join找出相同数据

select *
from reviews a
INNER JOIN
(select r_content, r_userid, count(*) from reviews GROUP BY r_content, r_userid having count(*) > 1) b
on a.r_content = b.r_content and a.r_userid = b.r_userid;

加行号

select a.*,
if(@tmp = CONCAT(r_content, r_userid), @rownum := @rownum + 1, @rownum := 1) as rownum,
@tmp := CONCAT(r_content, r_userid)
from (
select a.*
from reviews a
INNER JOIN
(select r_content, r_userid, count(*) from reviews GROUP BY r_content, r_userid having count(*) > 1) b
on a.r_content = b.r_content and a.r_userid = b.r_userid) a,
(select @rownum := 0, @tmp := '') b

取出行号大于的删除之

delete from reviews where r_id in(
select r_id from (
select a.*,
if(@tmp = CONCAT(r_content, r_userid), @rownum := @rownum + 1, @rownum := 1) as rownum,
@tmp := CONCAT(r_content, r_userid)
from (
select a.*
from reviews a
INNER JOIN
(select r_content, r_userid, count(*) from reviews GROUP BY r_content, r_userid having count(*) > 1) b
on a.r_content = b.r_content and a.r_userid = b.r_userid) a,
(select @rownum := 0, @tmp := '') b) a where rownum>1);

方法2:

通过group_concat来组合id,并删除

select group_concat(ids separator '|') as ids from(
select group_concat(r_id) as ids ,r_content,r_userid,count(*) from reviews group by r_content,r_userid having count(*)>1) a

有重复数据不插入或更新的处理方法

表设计:

需求:如果有相同内容则不插入,记录插入相同数据的条数

insert  into news (news_title, news_abstract,news_code) values ('这是一条新闻','新闻内容是XXX',md5(concat('这是一条新闻','新闻内容是XXX'))) on duplicate key update dumpnum=dumpnum+1;

最新文章

  1. C/C++ 静态链接库(.a) 与 动态链接库(.so)
  2. ajax无刷新删除、复制 THINKPHP
  3. Maven概览
  4. Finally 与 return
  5. [C:\Users\Administrator\.IntelliJIdea2016.1\system\tomcat\Unnamed_demo_2\work\Catalina\localhost\demo\org\apache\jsp\index_jsp.java]
  6. iOS webview加载html自定义选项框选词
  7. 9款让你眼前一亮的HTML5/CSS3示例及源码
  8. 李洪强iOS开发之XMPP
  9. nodejs child process
  10. Day10 网络编程(续)
  11. 定时器 QuartZ Cron表达式
  12. [微信小程序-开发工具]快捷键
  13. C语言之概述
  14. 设备树..ing
  15. 深度学习中Dropout原理解析
  16. MVC中修改Table值
  17. IPC 之 Binder 初识
  18. spring 整合 Struts1.X [转]
  19. BZOJ1597_土地购买_KEY
  20. 把list(对象)集合中的(某个属性),放到数组中。

热门文章

  1. PAT甲级——1041 Be Unique
  2. Listening-lecture|主旨题|术语解释|举例原则|Crash course 哔哩哔哩
  3. as such 位于句首
  4. supervisor安装与配置实践版
  5. jQuery实现button按钮提交表单
  6. java开发环境搭建(jdk安装)和经常出现问题的探讨
  7. Spring定义Bean的两种方式:和@Bean
  8. django框架进阶-ModelForm组件-长期维护
  9. getHibernateTemplate()的find用法大全
  10. java学习——反射机制