sql - 如何从100中获得百分比的薪水
问题描述
我正在使用 sql developer,我想:
将工资总额添加到最后一行
新列中的百分比,它应该显示每个员工在 100% 中的百分比
怎么做 ?
select name ,sal from(
select last_name name,salary sal from employees e
where rownum <=5
)
希望输出为:
解决方案
您可以使用 来执行此操作grouping set
,但这有点棘手:
select name, salary, salary / max(salary) over ()
from t
group by grouping sets ((name, salary) ());
诀窍是窗口函数是在 之后计算的grouping sets
,因此它包括总数。因此使用max(salary)
代替sum(salary)
。
推荐阅读
- r - 在维护数据结构的同时使用`group_split`?
- python-3.x - 如何只匹配一次出现双空格的行?
- java - Eclipse JDT 核心 Java 运行时错误 - java.lang.NoSuchMethodError
- ruby-on-rails - 设计中的 ActionController::InvalidAuthenticityToken::SessionsController#create
- r - 如何根据计数(最小样本量)选择一个组?
- azure - Azure Functions 身份验证中的访问令牌问题
- python - Python requests.post() 返回
- python - 如何在C中将python列表转换为void类型的指针
- reactivemongo - BSON 播放 JSON 支持 Long 值
- android - Unity 2019.4.4f1 ScrollView ScrollRect 不会使用 ScrollBar 滚动,但可以使用鼠标滚轮