我为一场比赛建立了一个现场得分系统。当分数输入mysql数据库时,它们是这样输入的。。。
ID userid sessionid sprintid pointvalue1 pointvalue2 pointvalue3
1 1 1 1 10 5 2
2 2 1 1 10 5 3
3 3 1 1 12 6 3
4 1 1 2 10 6 4
5 2 1 2 12 5 3
6 3 1 2 9 4 3
从上面可以看到,有1个会话、2个不同的sprint(迭代)和3个不同的用户。我想展示一个领导委员会。领导委员会将显示(通过迭代)、用户名(来自另一个表)、sprint、点值1、点值2、点值3、该会话中所有迭代的累计点值1之和。所以在迭代1中,点值1和累积点值1的和是一样的。但是,在迭代2中,我应该看到一个点值1的和,对于用户1为20,对于用户2为22,对于用户3为21,顺序正确(降序)。我尝试了一个使用select sum的子查询,但是没有完全正确,我尝试了一个sum(if()),它看起来是正确的,但是不是。我想我需要一些指引去哪个方向。
1条答案
按热度按时间uujelgoq1#
我想这个查询会得到你想要的原始数据。您可能希望使用某种形式的对总分排序来调整查询,并且
WHERE
以及LIMIT
条款,以满足您的确切需要。输出:
sqlfiddle演示