我想计算给定国家/地区的总订单份额,同时也显示国家/地区列。
样本输出:
customer_id | country | count_orders | 20323 | GB | 43 |
---|---|---|
20323 | 我们 | 94 |
另一个选择是使用SUM
窗口函数来捕获您的总订单:
SELECT customer_id,
country,
count_orders,
count_orders / SUM(count_orders) OVER() AS share_total_orders
FROM orders
您可以交叉连接所有顺序的总和并除以它:
SELECT customer_id, country, count_orders,
count_orders / total_orders AS share_total_orders
FROM orders
CROSS JOIN (SELECT SUM(count_orders) AS total_orders
FROM orders) s