mysql 去重关键字 distinct
mysql为我们提供了关键字distinct,使用它可以很方便去掉重复数据
select DISTINCT(去重字段) from user;
注意:disiint关键字只能写在查询字段的最前面,否则会报错
select DISTINCT(name), age from user;
如果后面还根由其他字段,distinct的作用范围就变成了多个字段,效果为:当 name 和 age 均不重复时展示。
在公司需要做去重时,并不是简简单单的去除重复字段即可,需要根据不同情况做到不同效果。在实际项目中这个用到的并不是很多,确是必不可少。
sql语句 去重
总结一些去重用时会涉及到的sql,将来再需要时就可以修改直接拿来用
去除重复字段并查询最新的一条记录
select * from (select *,去重字段 as code from 表名 order by date desc) t group by t.code;
查询表中重复出现的字段及次数并按次数倒序(可以改变条件来应对相应需求,字段为空也会被统计!)
select 去重字段,count(*) as count from 表 group by 去重字段 having count>1 ORDER BY count desc;
--> 补充
查找是否"存在" 高效sql:存在返回1 ,不存在返回 null
SELECT 1 FROM 表 WHERE 条件 LIMIT 1;
目前用到这些,如果还有更好的再补充。