按UserID分组记录,选择一个列值的位置并另外一个

时间:2017-11-02 13:41:38

标签: mysql sql mysql-workbench

在MySQLWorkbench中使用SQL我希望按用户ID'对记录进行分组, 只选择与“周”和“周”相匹配的记录。在(5,6,7,8)中,将每个用户的值汇总到'得分'。

记录实际上存储在我加入的两个表中,一个阵容表和阵容历史表:

INNER JOIN vi_lineup on vi_lineup.lineup_master_id = vi_lineup_master.lineup_master_id

显然,我是新手。我确实搜索了S.O.首先但没有找到匹配的问题。我一直在寻找并希望有人在这里回答。谢谢你的帮助。

有关周的评论。游戏基于每周模型,我们按顺序编号。这是一个有效的查询,用于连接表格并根据周数选择记录:

select * FROM vi_lineup LU 
INNER JOIN vi_lineup_master LM 
WHERE (LU.week > 4 and LU.week < 9)  
AND LU.lineup_master_id = LM.lineup_master_id 
Limit 0,148000;

我现在要做的是按LM.UserID对记录进行分组,并将LU.Score中的值相加 谢谢!

1 个答案:

答案 0 :(得分:0)

您尚未告诉我们用户ID或分数来自哪里。但假设您可以自己澄清,查询的“基本”结构将是这样的:

SELECT
      ??.UserID, SUM(??.score) AS sum_score
FROM vi_lineup lu
INNER JOIN vi_lineup_master lm ON lu.lineup_master_id = lm.lineup_master_id
WHERE lu.week between 5 and 8
GROUP BY
      ??.UserID

您需要将每个 ?? 替换为正确的表别名“lu”或“lm”