【发布时间】:2018-09-19 01:56:37
【问题描述】:
我已经为游戏建立了实时计分系统。当分数输入到 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 个不同的用户。我想显示一个排行榜。排行榜将显示(通过迭代)、用户名(来自另一个表)、冲刺、点值 1、点值 2、点值 3、该会话中所有迭代的累积点值 1 的总和。因此,在第 1 次迭代中,点值 1 和点值 1 的总和将是相同的。但是,在迭代 2 中,我应该看到用户 1 的点值 1 的总和为 20,用户 2 为 22,用户 3 为 21,按正确的顺序(降序)。我尝试了使用选择总和的子查询,但不能完全正确,我尝试了 SUM(IF()),这似乎是正确的,但事实并非如此。我想我需要一些关于前进方向的指导。
【问题讨论】:
-
可以显示您尝试过的查询吗?
-
您似乎在交替使用迭代和冲刺,这很难理解。每个“迭代”都是一个新查询吗?
标签: php mysql if-statement sum subquery