2011-08-10 22 views
0

昨天晚上和一个来自SO的优秀年轻人一起工作时,我在一个朋友的公会的考勤系统上完成了大量的工作,现在除了一部分以外,所有工作都完成了。用另一个结果填充数据库?

我们取得了很多进展,但我帮助的朋友有最后一个要求。在每个用户的页面上,我们会输出用户曾经参加并错过了多少次突袭,但是我们也会输出突袭的百分比。

例子:

Date     Member    Attended 
8/10/2011 1:44:27pm Testing1234   Yes 
8/10/2011 1:44:45pm Testing1234   Yes 
8/10/2011 1:44:53pm Testing1234   No 

        Overall Attendance: 66.666666667% 

,我们计算每个页面上的百分比的方式是这样做(在用户查找的时间):

$total_query= mysql_query("SELECT rAttend, rTotal FROM users WHERE userName='$v_member'"); 
    $result = mysql_fetch_assoc($total_query); 
    $percent = $result['rTotal'] == 0 ? 0 : (($result['rAttend']/$result['rTotal']) * 100); 

的朋友现在要我创建一个新的表格,让我的每个成员($ v_member)按其突袭出​​席率排序在页面上。如何做到这一点,我有点失落,这种方式不会是手动的。有人能帮助我至少有一个地方开始呢?

非常感谢!

回答

1
SELECT userName, rAttend, rTotal, 100 * (rAttend/rTotal) as rAverage 
FROM users 
ORDER BY rAverage 
0

您的朋友可以接受显示正确排序的页面,而没有单独的表格吗?如果是这样,您可以计算查询中的百分比:

SELECT (rAttend/rTotal) * 100 as percent_attend FROM users ORDER BY (rAttend/rTotal) DESC