MySQL查询一张表内有多个字段重复怎样查?

白菜小码农 发布于 2016/01/27 11:58
阅读 2K+
收藏 0

华为云11月刊推送:DIY微信问答机器人,高性能计算代码的20个技巧!>>>

有这么一张表,

    A  B   C    D    E

1  g   b   k    n    g

2  g   s   a    w   d

3  t   w   q   g    g

4  g   b   k   s    q

我有ABC三个字段会产生重复数据,我要查出来哪条数据的ABC三个字段的值一模一样,该怎么构造查询语句?

是必须满足同时一样啊。

这条select u1.* from users u1,users u2 where u1.id<>u2.id and u1.name=u2.name and u1.class_id=u2.class_id and u1.school_id=u2.school_id;

这条语句看起来没什么问题,但是查询结果是不对的,会出现所有数据。

加载中
0
车开源
车开源
u1.id<>u2.id 这个条件干嘛的? 如果仅是关联使用可以用left join
车开源
车开源
回复 @王静0716 : 我以为有2张表,它的基本思路是对的。
王静0716
王静0716
left join结果就是自己吧
白菜小码农
就一张表,怎么关联?
0
随风逐流
随风逐流
select A,B,C from 表 group by A,B,C having count(1)>1
随风逐流
随风逐流
回复 @白菜小码农 : 不用谢
白菜小码农
可以,是我搞错了!谢谢!
白菜小码农
试了,不行的
0
王静0716
王静0716
你的这条语句的查询结果应该是对的啊
0
Xiao乐
Xiao乐

你是想查出来ABC三个只有一个重复的就显示出来还是把三个同时重复的显示出来?

白菜小码农
三个同时都重复才算满足我的条件
0
sskicgah
sskicgah
select * from user t1 where exists (select 'x' from user t2 where t1.id != t2.id and t1.a=t2.a and t1.b=t2.b and t1.c=t2.c)
白菜小码农
这样查出来的结果是全部数据
返回顶部
顶部