本文主要介绍了mysql数据去重的三种方式,通过示例代码进行了非常详细的介绍,对大家的学习或工作有一定的参考价值。有需要的朋友就跟着下面的边肖学习吧。
一.背景二三种重复数据删除方法:1 .使用MySQL DISTINCT:去重(过滤重复数据)2.group by3.row_number窗口函数三。摘要
目录
最近用系统模块做数据调试,其中一个需求是对比两个角色下的相关数据,返回最新的数据,于是想到了去重,又做了一个总结。
一、背景
二、数据去重三种方法使用
1.1.当使用mysql SELECT语句查询数据时,将返回所有匹配的行。
从t_user t中选择t.age
可以看到,查询结果返回了10条记录,其中一些记录有重复的年龄值。有时,由于数据分析的需要,需要消除重复的记录值。
1.2.DISTINCT关键字表示MySQL进行重复数据删除的记录值。
格式是:
从表名中选择不同的字段名;
从t_user t中选择DISTINCT t.age
从运行结果可以看出,查询结果只返回了5条记录的年龄值,没有重复值。
ps:
其中“字段名”是需要消除重复记录的字段的名称,多个字段之间用逗号分隔。
使用DISTINCT关键字时,应注意以下几点:
DISTINCT关键字只能在SELECT语句中使用。
对一个或多个字段进行重复数据消除时,DISTINCT关键字必须位于所有字段的前面。
如果DISTINCT关键字后有多个字段,则多个字段将被合并并进行重复数据消除,也就是说,仅当它们的组合完全相同时,才会对它们进行重复数据消除。
1.通过MySQL DISTINCT:去重(过滤重复数据)
按t.age从t_user t GROUP中选择t . age;
2.group by
语法格式为:
Row_number() over(按字段名分区用于分组,按字段名排序用于组内排序)
所用项目的重复数据删除:
select * from (select t.*,row _ number()over(partition by t . children _ id order by t . update _ time desc)rn
from MDM _ DATA _ authority _ view _ info其中t . DATA _ class _ ID=' class ID '和t.DATA_ROLE_ID
IN('角色id ','角色id '))
其中rn=1;
3.row_number窗口函数
关于详细解释mysql重复数据删除的三种方法的文章到此结束。有关mysql重复数据删除的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。