如何将求和组从一列分离到另一列?

jhkqcmku  于 2021-07-24  发布在  Java
关注(0)|答案(2)|浏览(786)

假设我有这个表,我想查询一个人,结果应该是得到除以国家总数的数字之和

Country  person  number

USA        A        3
USA        A        2
USA        C        2
RUS        B        1
RUS        C        3
IND        A        2
DEU        A        1
DEU        D        1

假设我问一个我想找的人

USA 5/7
IND 2/2
DEU 1/2

a个人的人数总和/国家总和
现在假设我想把事情弄得更复杂。。假设我有一个月列,我想得到每个月的结果

avkwfej4

avkwfej41#

可以使用条件聚合和 / :

select country,
       sum(case when person = 'A' then number else 0 end) / sum(number)
from t
group by country;
bjp0bcyl

bjp0bcyl2#

你可以试试下面的-
演示

select country, person, sum(number) sum_of_number,
(select sum(number) from t t1 where t.country=t1.country) sum_of_country
from t
where person='A'
group by country, person

相关问题