nin*_*ded 4 oracle analytics plsql
例如,如果我有一个代表一个Y或一个N标志的列,那么百分比是Y多少百分比是N多少?我知道我可以编写一个查询来查找这些数字,然后自己计算百分比,但我认为应该直接在PL/SQL中使用分析函数来做这个NTILE.
SELECT COUNT(1), enabled_flag
FROM widgets
GROUP BY enabled_flag;
Run Code Online (Sandbox Code Playgroud)
给我:
COUNT(1) | enabled_flag
123124 | Y
234234 | N
Run Code Online (Sandbox Code Playgroud)
我需要:
enabled_flag | percentage
Y | 34
N | 56
Run Code Online (Sandbox Code Playgroud)
谁能指出我正确的方向?
尝试分析函数:
SELECT round(100*COUNT(1)/sum(count(1)) over (),0), enabled_flag
FROM widgets
GROUP BY enabled_flag;
Run Code Online (Sandbox Code Playgroud)
编辑...您还可以使用RATIO_TO_REPORT函数,这可能使其看起来更清晰或更容易维护:
SELECT round(100*RATIO_TO_REPORT(count(1)) over (),0), enabled_flag
FROM widgets
GROUP BY enabled_flag;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1400 次 |
| 最近记录: |