[英]How to add extra columns to a select statement that contain percentages of a previous column
我可以使用select語句生成這樣的表:
column1 total ------------- Item A 360 Item B 440 Item C 180
這是我用來創建上表的SQL語句:
select column1, sum( order_total) as total
from report
group by column1;
如何修改我的SQL語句以在其中添加第3列和第4列,該列占總列的百分比? 百分比值基於列1中的值。 最后,我試圖創建一個看起來像這樣的表:
column1 total percentage_a percentage_b ---------------------------------------- Item A 360 108 252 Item B 440 220 220 Item C 180 70 110
因此,在上表中,percent_a和percent_b列占總列的一定百分比。 如何修改我的SQL代碼,以使Item A行的拆分比例為30/70,Item B列的拆分比例為50/50。
謝謝你的幫助。 我是新手。
這樣的事情應該做到:
select
column1,
sum(order_total) as total,
sum(order_total) * 0.7 as percent_70_30,
sum(order_total) * 0.5 as percent_50_50
from
report
group by
column1;
抱歉,這個問題的措辭很差。 這就是我想要的:
select report.instituiton_name, sum( report.order_total ) as instituton_totals, t1.betteru_percentage, t2.cp_percentage from bi_all_sales_report report left join ( select instituiton_name, ( CASE WHEN instituiton_name = 'abc' THEN sum( order_total ) * 0.30 ELSE sum( order_total ) * 0.50 END ) as betteru_percentage from bi_all_sales_report group by instituiton_name ) t1 on t1.instituiton_name = report.instituiton_name left join ( select instituiton_name, ( CASE WHEN instituiton_name = 'abc' THEN sum( order_total ) * 0.70 ELSE sum( order_total ) * 0.50 END ) as cp_percentage from bi_all_sales_report group by instituiton_name ) t2 on t2.instituiton_name = report.instituiton_name group by instituiton_name
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.