表A 字段 中有 订单类型PART_ORDER_TYPE,订单金额PART_ORDER_AMOUNT
根据PART_ORDER_TYPE(有4种类型)分别计算出各种类型对应PART_ORDER_AMOUNT的和,以及每种类型PART_ORDER_AMOUNT和占总订单金额的百分比
请问种如何写SELECT,谢谢
根据PART_ORDER_TYPE(有4种类型)分别计算出各种类型对应PART_ORDER_AMOUNT的和,以及每种类型PART_ORDER_AMOUNT和占总订单金额的百分比
请问种如何写SELECT,谢谢
sum(PART_ORDER_AMOUNT)/(select sum(PART_ORDER_AMOUNT) from a) "百分比"
from a group by PART_ORDER_TYPE;
不对哦,这样比出来是100%有没有其他人帮忙呀~~~谢谢先
sum(tt.PART_ORDER_AMOUNT) TOTAL_AMOUNT,
round(RATIO_TO_REPORT(sum(tt.PART_ORDER_AMOUNT)) over() * 100, 2) || '%' as percent
from A tt
group by tt.PART_ORDER_TYPE;
SQL> select * from a;PART_ORDER_TYPE PART_ORDER_AMOUNT
--------------- -----------------
1 1
1 2
2 3
2 4
3 5
3 6
3 7
3 8
4 9
4 7
4 6
4 5
4 4已选择13行。select PART_ORDER_TYPE,sum(PART_ORDER_AMOUNT) "总和",
round(sum(PART_ORDER_AMOUNT)/(select sum(PART_ORDER_AMOUNT) from a)*100,2) "百分比"
from a group by PART_ORDER_TYPE;PART_ORDER_TYPE 总和 百分比
--------------- ---------- ----------
1 3 4.48
2 7 10.45
3 26 38.81
4 31 46.27SQL>
aa.part_order_type
,aa.part_total
,case when bb.total = 0 then 0 else aa.part_total / bb.total end
from (
select a.part_order_type, sum(a.part_order_amount) part_total
from a
group by a.part_order_type
) aa
left join (select sum(a.part_order_amount) total from a) bb
on 1 = 1