同一个国家、同一个名字、同一个年龄、同一个姓氏的人的sql计数(例如smith)

du7egjpx  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(343)

我需要你的建议。
我们有下表
表名:people(我知道坏名字,例如:-)

ID       | firstname | age | country
1        | George    | 20  | US
1        | George    | 20  | GB
2        | Jim       | 20  | FR
2        | Jim       | 21  | FR

我需要看到下面的结果,所以对于相同的id值计数

ID | firstnamecnt | agecnt | countrycnt
1  | 2            | 2      | 1
2  | 2            | 1      | 2

我希望我解释得好:-)
谢谢和问候,亚历克斯

eanckbw9

eanckbw91#

我猜你指的是名字。这里有一个方法

select id, 
       count(*) - count(distinct firstname) + 1 as firstnamecnt,
       count(*) - count(distinct age) + 1 as agecnt,
       count(*) - count(distinct country) + 1 as countrycnt
from people
group by id;

演示

相关问题