SQL> select * from temp; TN
----------
1
2
3
4
5
6已选择6行。SQL> select tb.tn,(select sum(tn) c from (select rownum id,tn from temp) t where t.id<=tb.id)
2 /tc.sm*100 percent
3 from (select rownum id,tn from temp) tb,(select sum(tn) sm from temp) tc; TN PERCENT
---------- ----------
1 4.76190476
2 14.2857143
3 28.5714286
4 47.6190476
5 71.4285714
6 100已选择6行。SQL>
----------
1
2
3
4
5
6已选择6行。SQL> select tb.tn,(select sum(tn) c from (select rownum id,tn from temp) t where t.id<=tb.id)
2 /tc.sm*100 percent
3 from (select rownum id,tn from temp) tb,(select sum(tn) sm from temp) tc; TN PERCENT
---------- ----------
1 4.76190476
2 14.2857143
3 28.5714286
4 47.6190476
5 71.4285714
6 100已选择6行。SQL>
=====================
select 金额,sum(金额)over(PARTITION BY 金额 order by 金额 rows unbounded preceding )as sub_sum,(select sum(金额) from table_name) as total_sum1,sum(金额)over(PARTITION BY 金额 order by 金额 rows unbounded preceding)/(select sum(金额) from table_name) as rate from table_name