2012-09-17 323 views
0

我在PHP/MySQL中有一个按百分比降序显示用户的排行榜。我计算百分比:计算百分比

$percentage = ($correct/$total) * 100 

我的问题是如何在尝试(风险)的数量因素,使我们说有1 100%用户离开1不是用户上面说75出来的80为93.8%

任何想法?

+0

order by $ total? –

回答

1

这只是你如何排序结果

SELECT (correct/$total) * 100 AS percent FROM table ORDER BY percent DESC, attempts ASC; 
0

部分取决于风险因素应的影响有多大有! (1 +($ total/100))或进一步减少影响(1 +(sqrt($ total)/ 100)) - 使用其他值进行实验,仅将100作为示例或其他非线性函数(如log)使用。

0

计算普通用户拥有的百分比,并为每个用户提供10次平均尝试的基线(某些值为10)。

假设平均值为50%。那么你会计算$percentage = ($correct+5)/($total+10)*100。一贯做得好的用户最终还是会成为顶级的(因为他们的成功将压倒你开始他们的平均得分,但有良好开局的用户不会跳到顶端)。

例如在此系统下,您的第一位用户现在得分为6/11 = 54%,您的第二位用户将拥有80/90 = 88%