sql—配置单元中的合计和聚合百分比

lhcgjxsq  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(339)

我有一张像这样的table

fruit   sold
----------------
apple   5
apple   10
apple   3
orange  2
orange  5

我想得到总数和总百分比。所以输出是

fruit   sold
----------------
All     25
apple   52%
orange  48%

所有售出的苹果是13/25,橙色是12/25。

kcrjzv8t

kcrjzv8t1#

我想那是 union all 在生成总和的查询和计算每个水果的总和的查询之间:

select 'All' as fruit, sum(sold) sold from mytable
union all
select fruit, 100.0 * sum(sold) / sum(sum(sold)) over()
from mytable
group by fruit

需要注意的一点是,子查询的数据类型需要对齐。这把所有的东西都作为数字(包括总销售额和每个水果的百分比)。

相关问题