选择最高的x%记录

时间:2020-07-18 06:28:59

标签: postgresql

问题是关于如何根据记录的排名获得前x%条记录。

例如,我有一个包含几列的表,其中一列是rating

rating            smallint

rating的值始终为正。

我的目标是根据排名对前x%个条目进行选择。

例如,对于前20%,如果一组选定的行包含如下评分:

1,3,4,4,5,2,7,10,9

然后排名靠前的20%将是8到10的记录→评级为9和10的记录。

我在Django中实现了它,但是它需要两次调用DB,并且我相信只需一次调用就可以通过PostgreSQL中的SQL轻松实现。

任何想法如何实现它?

1 个答案:

答案 0 :(得分:2)

考虑到此列中的最高评分是进行最高计算的基础。

尝试以下解决方法:

StoreRef

math.isnan v/s np.isnan v/s pd.isna