问题是关于如何根据记录的排名获得前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轻松实现。
任何想法如何实现它?