【发布时间】:2021-11-30 03:12:44
【问题描述】:
希望有人能帮我解答这个问题。
我在名为 t_customerdata 的表中有以下数据集:
| Customer | Balance |
|---|---|
| John | $100 |
| Paul | $150 |
| Linda | $50 |
| Karen | $95 |
我想要在同一张表中显示每个人占总余额的百分比。
所以,基本上,我的目标是让表格看起来像这样:
| Customer | Balance | %ofTotal |
|---|---|---|
| John | $100 | 25.3164 |
| Paul | $150 | 37.9746 |
| Linda | $50 | 12.6582 |
| Karen | $95 | 24.0506 |
我已经尝试了下面的代码,有点天真地希望它可以工作,但它并没有因为 SQL 也强制我按余额分组,这意味着 calc 总是返回 100%:
select
customer,
balance / sum(balance) as [%ofTotal]
from t_customerdata
group by
customer,
balance
【问题讨论】:
-
你的数据库是什么?余额列是字符串吗?
-
余额是双倍的。我正在使用我的公司为数据挖掘目的创建的数据立方体,并在共享驱动器位置读取 Excel 电子表格。它使用 CubeSQL 的一种形式,因此我没有正常的 SQL CTE 或窗口函数