2016-03-15 102 views
0

我無法解決SQL查詢的問題。通過我剛剛創建的列的條件

我有一個包含這樣的一個表:

+------+------+------+ 
| Col1 | Col2 | Col3 | 
+------+------+------+ 
| A1 | B1 | C | 
| A2 | B2 | D | 
| A3 | B3 | E | 
| A3 | B3 | D | 
+------+------+------+ 

和只需要選擇具有獨特COL3如果col1和col2的值相同的行。

所以結果應該是:

+------+------+------+ 
| Col1 | Col2 | Col3 | 
+------+------+------+ 
| A1 | B1 | C | 
| A2 | B2 | D | 
+------+------+------+ 

因爲排3和4有類似col1和col2的,但不同的COL3。

我需要在查詢期間創建一個新列的條件,我無法管理如何做到這一點。

回答

2

這是一個簡單的組通過,如果我理解正確:

select col1, col2, min(col3) as col3 
from the_table 
group by col1, col2 
having count(distinct col3) = 1 
+0

難道不該'COUNT(DISTINCT COL3)= 1'? –

+0

你完全正確!它像一個魅力。 – obchardon

+0

@JoachimIsaksson:可能是(樣本數據不需要它,但是如果我重新讀這個問題,那麼你是對的)。謝謝 –

相關問題