Ste*_*lsh 4 sql oracle select percentage
如果我有下表,如何编写SELECT查询以返回任何TYPE,其中值为1的行的百分比大于50%?所以在这种情况下,它只返回B,因为TYPE B的66%的行的值为1.
TYPE VALUE
-------------
A 0
A 0
A 1
A 0
B 0
B 1
B 1
C 0
C 0
C 0
Run Code Online (Sandbox Code Playgroud)
您可以使用条件聚合:
select type
from t
group by t
having avg(case when value = 1 then 1.0 else 0.0 end) > 0.5;
Run Code Online (Sandbox Code Playgroud)
您可以在avg()表达式中包含表达式select以获得比例.
| 归档时间: |
|
| 查看次数: |
461 次 |
| 最近记录: |