Mysql select 如何去除重复数据

博客主要围绕数据库查询时避免重复数据展开。因查询条件不充分会导致数据耦合,可使用distinct字段返回唯一不同值,还可先查询不重复数据的id并通过count()计算,仅数目为1的是不重复数据,再用in选择不重复记录,也可借助group by语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开门见山
在数据库进行数据查询的时候,由于查询条件的不充分性,直接导致数据耦合
在这时,需要对数据进行一定的处理

如何避免重复数据
  • 首先可以使用distinct字段
    在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。
    关键词 DISTINCT 用于返回唯一不同的值。
    语法SELECT DISTINCT 列名称 FROM 表名称
  • 先把不重复数据的id查询出来 通过count()计算 只有数目为1的才是不重复的数据。
    然后通过in选择出不重复记录的数据。
    例子:
    统计出a表中name不重复的所有记录
    select b.* from table b where b.id in(select a.id from table a group by a.name having count(a.id) <2)//其中 name重复的数据的列名。
  • 通过group by语句
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值