我正在寻找一种方法来计算两列中值组合出现的次数,但仅限于该值尚未计入该值的位置。
例如一个包含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 :(得分:2)
正如您所提到的,使用GROUP BY
子句和聚合函数count
来获得所需的结果,每个组输出一行,计算所有行。
select firstname, surname, count(distinct someid) as count
from person
group by firstname, surname
由于您只需要在聚合中使用distinct
子句来计算唯一ID。