2017-12-03 393 views
0

總結和組我有一個表ABC其中可以存在對一種用戶ID一個或多個行。 abc表具有列。我想要的結果是UserId的總和。SQL查詢按id

例如:用戶id 1 - > 41,用戶id 2 - > 98

我現在擁有的一切:

SELECT (UserPersonalDetailsId), 
     SUM(anyValue) AS anyValueName 
    FROM [dbo].Experience 
    GROUP BY UserPersonalDetailsId 

結果:它單獨返回每一行的總和。所以,我有這樣的:

用戶ID 1 - > 25,用戶ID 1 - > 10,用戶ID 2 - > 5等

我應該怎麼更改或添加完成查詢?

PS。我知道這是一個非常普通的解決方案,但似乎找不到任何解決方案。 。:(

+2

觀看視頻。解決練習參考 - [這裏](https://www.khanacademy.org/computer-programming/sql-grouping-select-results-with-group-by/5520132919132160) – imGs

回答

4

你應該按UserId列不UserPersonalDetailsId

試試這個:

SELECT UserId, SUM(anyValue) AS anyValueName 
    FROM [dbo].Experience 
    GROUP BY UserId 
+0

他他他,那是一個打字錯誤。但是我發現了這個問題,除了userId之外我還有其他一些列組,刪除了其他列修復了這個問題。雖然謝謝! – nightElf91

+0

我應該刪除這個問題嗎?這不會幫助任何人。 – nightElf91

+0

是的,我認爲是這樣的 – CodeFuller

1

你可以一試分區像這樣

SELECT DISTINCT UserId, SUM(anyValue) OVER (PARTITION BY UserId) AS anyValueName 
FROM [dbo].Experience