2017-07-19 45 views
0

我正在尋找一種方法來計算跨兩列的值的組合出現次數的計數,但只有該值尚未計入該ID的計數的次數。計算兩列其中一列是唯一的

例如包含5行的表:

Table name = person 
someid | firstname | surname 
1  John  Doe 
1  John  Doe 
1  Johnny  Doe 
2  John  Doe 
3  Johnny  Doe 

我希望得到以下結果:

firstname | surname | count 
John  Doe  2 
Johnny  Doe  2 

我已經試過組數和組的幾個組合都沒有成功。我在這裏失去了什麼關鍵的方面?

乾杯

+0

你的問題不清楚。 「價值尚未計入該ID的地方」的真正含義是什麼? –

回答

2

正如你所提到的,使用GROUP BY子句和聚合函數count得到其輸出按您的組計算所有行一列期望的結果。

select firstname, surname, count(distinct someid) as count 
from person 
group by firstname, surname 

既然你只需要考慮的唯一ID使用聚合內distinct條款。

+0

Whag是否有像4,John,Doe這樣的列。換句話說,另一個John Doe使用不同的ID – joym8

+0

_「但只有在該值尚未計入該ID的位置。」_。這不符合OP要求。 –

+0

完美的感謝,我錯過了聚合中的獨特子句。 – kenth213

相關問題