2017-10-09 212 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