我有一张像这样的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。
kcrjzv8t1#
我想那是 union all 在生成总和的查询和计算每个水果的总和的查询之间:
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
需要注意的一点是,子查询的数据类型需要对齐。这把所有的东西都作为数字(包括总销售额和每个水果的百分比)。
1条答案
按热度按时间kcrjzv8t1#
我想那是
union all
在生成总和的查询和计算每个水果的总和的查询之间:需要注意的一点是,子查询的数据类型需要对齐。这把所有的东西都作为数字(包括总销售额和每个水果的百分比)。