小编给大家分享一下MySQL实现数据去重的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

MySQL怎么实现数据去重

1、使用distinct去重(适合查询整张表的总数)

有多个学校+教师投稿,需要统计出作者的总数

selectcount(author)astotalfromfiles

每个作者都投稿很多,这里有重复的记录。

selectdistinctauthorfromfiles;

有可能两个学校的教师姓名相同,结果只统计一个,出错。

selectdistinctauthor,sidfromfiles

统计(作者+学校id)的组合唯一值,结果出现正确的结果,但如何知道一共有多少人呢?

selectcount(distinctauthor,sid)astotalfromfiles

2、group by 分组去重(适合根据条件分组后查询每组的总数)

selectauthor,count(distinctid)fromfilesgroupbysid

3、记录两张表的数目的和,这两个表分开查询

SELECTSUM©FROM(SELECTCOUNT(DISTINCTfrom_user_id,message_id)cFROMim_messageWHEREdr=0ANDmessage_status=2ANDuser_type=1ANDto_user_id=2UNIONALLSELECTCOUNT(DISTINCTgroup_id,message_id)cFROMim_messagerefgroupWHEREdr=0ANDuser_id=2)AStemp;

看完了这篇文章,相信你对MySQL实现数据去重的方法有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!