表格成本:
Item | Cost
Car | 10
Cat | 2
Dog | 3
Fish| 1
是否可以在每行查询中使用总和?
SELECT Item, Cost, Cost/sum(cost) "Percent" from Costs where ...
得到:
Item | Cost | Percent
Car | 10 | 0.625
Cat | 2 | 0.125
Dog | 3 | 0.1875
Fish| 1 | 0.0625
这只是一个简单的例子。我的查询要复杂得多,所以我宁愿不进行另一次全表扫描以获得"选择总和(成本),其中......"。是否可以使用分组/汇总来完成此操作?
答案 0 :(得分:2)
您可以使用RATIO_TO_REPORT函数来获取比率,而无需计算总和。
查询1 :
select item,
cost,
ratio_to_report(cost) over () as percent
from costs
<强> Results 强>:
| ITEM | COST | PERCENT |
|------|------|---------|
| car | 10 | 0.625 |
| cat | 2 | 0.125 |
| dog | 3 | 0.1875 |
| fish | 1 | 0.0625 |