来自美国波士顿
微信扫码关注公众号进行登录
来自美国波士顿
来自美国波士顿
微信扫码关注公众号进行登录
来自美国波士顿
微信扫码关注公众号进行登录
sql查询去掉重复的值怎么操作?为你带来了数据库查询去除重复数据的方法!
方法一:使用DISTINCT过滤重复数据
1、直接查询age字段,会输出所有数据,包含重复项。
2、 DISTINCT 关键字指示 MySQL 消除重复的记录值
SELECT DISTINCT <字段名> FROM <表名>;
可以看到消除了重复项,使用distinct可行。
使用 DISTINCT 关键字时需要注意以下几点:
DISTINCT 关键字只能在 SELECT 语句中使用。
在对一个或多个字段去重时,DISTINCT 关键字必须在所有字段的最前面。
如果 DISTINCT 关键字后有多个字段,则会对多个字段进行组合去重,也就是说,只有多个字段组合起来完全是一样的情况下才会被去重。
方法二:group by
GROUP BY 语句根据一个或多个列对结果集进行分组。在分组的列上我们可以使用 COUNT, SUM, AVG,等函数。
select 重复的字段名 from 表名 group by 重复的字段名;
group by 对age查询结果进行了分组,自动将重复的项归结为一组。
还可以使用count函数,统计重复的数据有多少个。
方法三: row_number窗口函数
oracle等数据库中可以方便的使用row_number函数,实现分组取组内特定数据的功能。但是MySQL中并没有引入类似的函数。为了实现这一功能,需要一些特别的处理。
row_number() over (partition by <用于分组的字段名> order by <用于组内排序的字段名>)
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 where t.DATA_CLASS_ID = '分类id' AND t.DATA_ROLE_ID
IN ( '角色id', '角色id' ))
where rn = 1;
特别声明:本文转载仅仅是出于传播信息的需要,并不意味着代表本网站观点或证实其内容的真实性;如其他媒体、网站或个人从本网站转载使用,须保留本网站注明的“来源”,并自负版权等法律责任;作者如果不希望被转载或者联系转载稿费等事宜,请与我们接洽。
凡注明来源为“EditSprings”的论文,如需转载,请注明来源EditSprings并附上论文链接。