sql语句查看数据库某个字段是否有重复的值

可以用group by和count结合找出具有重复值的项,然后用select具体查出重复的内容

1.  SELECT * FROM (SELECT cf.*, COUNT(*) counts FROM cf GROUP BY cf.phone) a WHERE a.counts>1;

这条sql语句中的子查询,对数据库字段phone进行group by分组后,显示 不重复的信息和每个分组中含有记录条数的数量,此处的count(*)统计的不是分组的数量,而是每个分组中包含记录的数量。

然后对子查询结果再次进行筛选,仅显示counts即count(*)结果大于1的记录,之后就可以分别查看这些重复的记录是哪几条了

如果使用having count(*)的话可以写得更加简洁:

select cf ,count(*) from cf group by cf.name having count(*)>1;

2.  如果要获得分组数,可以这么写:

SELECT COUNT(1) FROM (SELECT cf.* FROM cf GROUP BY cf.phone) a ;

这时候会获得唯一的一条记录就是分组书


注意group by和count不同组合方式得到的不同结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值