计算另一列唯一的两列

时间:2017-07-19 22:50:54

标签: sql count

我正在寻找一种方法来计算两列中值组合出现的次数,但仅限于该值尚未计入该值的位置。

例如一个包含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

我已经尝试过一些计数和组合的组合而没有成功。我在这里缺少哪些关键方面?

干杯

1 个答案:

答案 0 :(得分:2)

正如您所提到的,使用GROUP BY子句和聚合函数count来获得所需的结果,每个组输出一行,计算所有行。

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

由于您只需要在聚合中使用distinct子句来计算唯一ID。