在sql中创建一个超过80%的标志

时间:2015-06-08 18:51:13

标签: sql oracle

我有一个连续的列,我需要创建一个二进制标志。超过80百分位数的所有值将获得值1和休息0.我如何在Oracle中执行。

1 个答案:

答案 0 :(得分:2)

Oracle似乎只有percent_rank window function

select  case
        when percent_rank() over (order by col1) >= 0.8 then 1
        else 0
        end as flag
,       *
from    YourTable