2013-01-17 47 views
0

這是table1的結構:MySQL的SELECT返回的字段值與變化的行

ID_Num | id_2 | field1 
12-001 | 3 | ABCD 
12-001 | 3 | ABCD 
12-001 | 3 | ABCD 
12-001 | 1 | ABCD 
12-001 | 1 | ABCD 
12-002 | 3 | ABCD 
12-002 | 3 | ABCD 
12-002 | 3 | ABCD 
12-002 | 3 | ABCD 
12-002 | 3 | ABCD 
12-003 | 2 | ABCD 
12-003 | 2 | ABCD 
12-003 | 3 | ABCD 
12-003 | 3 | ABCD 
12-003 | 3 | ABCD 

現在我想選擇在外地ID_2
改變所有ID_NUM應該因爲恢復12-001改變從3到因爲從2變化的1
和12-003至3

回答

3
SELECT ID_NUM 
FROM tableNAME 
GROUP BY ID_NUM 
HAVING COUNT(DISTINCT id_2) > 1 
+0

This Works,thank you。 –

+0

不客氣':D' –

+1

@paynet:小心依賴[MySQL的GROUP BY /隱藏列功能](http://dev.mysql.com/doc/refman/5.6/en/group-by-extensions .html) –

0

我意識到count(distinct)需要更多的處理比下面

select id_num 
from tablename 
group by id_num 
having min(id_2) <> max(id_2) 

這不會作爲一個單獨的值將NULL,但在這個問題沒有空值。