我正在开发一个投票/竞赛系统(php和sql),在这个系统中,用户需要选择他们最喜欢的5位候选人。他们最喜欢的一号得5分,他们最喜欢的二号得4分等等。
投票示例:
c=候选人
C_3 5-points
C_1 4-points
C_5 3-points
C_2 2-points
C_4 1-points
所有投票将存储在mysql表中,如sow:
ID 5_POINTS 4_POINTS 3_POINTS 2_POINTS 1_POINTS
1 C_4 C_2 C_1 C_5 C_3
2 C_5 C_3 C_2 C_4 C_1
3 C_4 C_1 C_3 C_5 C_2
4 C_1 C_4 C_2 C_3 C_5
基于上述投票的排名应为:
1. Candidate 4 - 16 Points
2. Candidate 1 - 13 Points
3. Candidate 2 - 11 Points
4. Candidate 3+5 - 10 Points
怎样才能得到上面这样的查询输出?我试了很多东西,但都没用。如果有人能给我指出正确的方向那就太好了。。。
1条答案
按热度按时间9o685dep1#
您可以按以下格式保存记录
这样,你就可以通过对他们的分数求和得到最高的分数。
SELECT sum(Points) from tablename