簡體   English   中英

通過UserID對記錄進行分組,選擇一個列值的位置並求和另一列的值

[英]Group records by UserID, select where on one column value and sum another

我想在MySQLWorkbench中使用SQL,我想按“用戶ID”對記錄進行分組,僅選擇與“周”在其中(5,6,7,8)匹配的記錄,並對“得分”中每個用戶的值求和。

記錄實際上存儲在我要加入的兩個表中,一個聯播表和一個聯播歷史表:

INNER JOIN vi_lineup on vi_lineup.lineup_master_id = vi_lineup_master.lineup_master_id

顯然,我是新手。 我確實先搜索了SO,但沒有找到匹配的問題。 我會繼續尋找並希望有人在這里回答。 謝謝你的幫助。

有評論詢問有關周的問題。 該游戲基於每周模型,我們按順序對其進行編號。 這是一個有效的查詢,用於聯接表並根據星期選擇記錄:

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中的值求和。謝謝!

您尚未告訴我們用戶名或分數來自何處。 但是,假設您可以自己澄清一下,查詢的“基本”結構將如下所示:

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”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM