Rat*_*eek 4 sql oracle oracle10g
假设我在Oracle中有一个包含整数列的表.有很多行; 在数百万的某个地方.我想写一个查询,给我一个大于表中所有数字的80%的整数.解决这个问题的最佳方法是什么?
如果重要,那就是Oracle 10g r1.
听起来好像你想要使用PERCENTILE_DISC函数,如果你想要一个实际的值,或者如果你想要一个特定百分位数的内插值,比如PERCENTILE_CONT,比如80%:
SELECT PERCENTILE_DISC(0.8)
WITHIN GROUP(ORDER BY integer_col ASC)
FROM some_table
Run Code Online (Sandbox Code Playgroud)
编辑
如果使用PERCENTILE_DISC,它将从数据集返回实际值,因此如果您想要更大的值,则需要将其递增1(对于整数列).