没有该功能的MySQL百分比排名

时间:2019-05-31 12:51:01

标签: mysql sql percentile

我被迫在数据库表中的许多列上创建百分比排名,而我真的为此感到挣扎。通常我会使用PERCENT_RANK函数,但是由于我们的MySQL版本不提供该函数,因此我不得不使用常规查询。

我有一个包含列的表:

UID  Total-Orders-Placed Last-Order-Date-Diff
12884           8                351
10985           11               106
30613           3                43
30820           2                134
23421           9                76

我想添加2个排名列,如下所示:

UID  Total-Orders-Placed Last-Order-Date-Diff    rec_rank   freq_rank
12884           8                351                0.34      0.86
10985           11               106                0.64      0.91
30613           3                43                 0.85      0.59
30820           2                134                0.57      0.40
23421           9                76                 0.77      0.88 

实际上,我有数千行和其他列,但这是要点。我已经能够在Excel中完美地做到这一点,但是我真的很难在MySQL数据库中转换为查询/视图,以便可以实时查看我们的数据。

我已经尝试过PERCENT_RANK(),但是如上所述,我们无法使用此功能。

我尝试了此处讨论的查询,但没有获得太大的成功:http://code.openark.org/blog/mysql/sql-ranking-without-self-join

任何帮助编写代码或对我有更好的了解的确有帮助。

0 个答案:

没有答案