2017-10-09 168 views
0

不同的记录我有这样一个表:选择具有相同值

TABLENAME =用户字段:用户名,taxCode,名字,姓氏。

我想选择具有相同taxCode但用户名不同的所有用户。我已经试过这样的事情,但它不工作:

select * 
from User where (select COUNT(u.taxCode) 
from User u 
where u.taxCode=u.taxCode)>1 
; 
+0

u.taxCode = u.taxCode?你确定 ? –

+0

继续尝试。它会从用户u1内部加入用户u2在u1.taxCode = U2.taxCode然后我相信你可以找出从哪里。 – smoore4

+0

@ChetanVasudevan,我不确定u.taxCode = u.taxCode,但我想要的是搜索相同的税码。 –

回答

1

你想用一个GROUP BYHAVING条款。这应该做你想做的:

SELECT * FROM User u GROUP BY u.taxCode HAVING COUNT(u.taxCode) > 1 
+0

与你写的查询,结果是什么?是唯一具有相同税码的记录,对吗? –

+0

它的工作原理是因为“GROUP BY”将所有记录与相同的税码放在一起,但是“COUNT”将其再次分离为只有多次具有相同税码的记录 – Cfreak