mysql中去除重复字段-distinct

mysql中去除重复字段-distinct

今天在进行数据处理的时候需要去除重复的数据,使用distinct十分便捷,所以做一下说明。

  • 使用distinct注意事项
  • distinct一般用法
  • 在统计中使用等其他用法
  • 具体问题解决

1、注意事项
使用distinct命令时需要放在查询条件的开头,否则会报错。如果需要查询的项目很多但只针对某一个字段使用distinct的,则可以利用内容拼接的方式来实现。
2、一般用法
以下为使用的基础数据表

idnameage
1张三20
2李四21
3王五21
4赵六20
5张三22
6李四21
--基本查询
SELECT DISTINCT `name` from users;
--显示结果
name
张三
李四
王五
赵六

--多表查询
SELECT DISTINCT name,age FROM users;
--显示结果(此处distinct的条件是name和age两个字段,也就是只有两个都重复了才进行筛选。)
--此处去除了李四 | 21
name | age
张三  | 20
李四  | 21
王五  | 21
赵六  | 20
张三  | 22

3、其他用法

--在count中使用distinct
SELECT count(DISTINCT name,age) FROM users;
--显示结果
5

--如果只处理name字段,但是查询显示name和age,则建议使用GROUP BY命令
--(单用distinct不好实现)
SELECT name, age FROM users GROUP BY name;
--显示结果
name | age
张三  | 20
李四  | 21
王五  | 21
赵六  | 20
--!!注意:如果SQL语句还有limit,order by等条件,必须放在group by后面。
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值