根据其他列值计算份额

  • 本文关键字:计算 其他 sql presto
  • 更新时间 :
  • 英文 :


我想计算给定国家/地区的总订单份额,同时也显示国家/地区列。

样本输出:

tbody> <<tr>
customer_idcountrycount_orders
20323GB43
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

最新更新