我無法嘗試獲取此查詢。通過計數和分組獲得此sql查詢權
說我有下列數據的表:
id | xyz | code
===========================
1 | 1 | ba
2 | 1 | zz
3 | 1 | ba
1 | 1 | zz
1 | 1 | ba
2 | 1 | zz
而且我想獲得「XYZ」的總和,通過ID例如分組
SELECT id, SUM(xyz) as mysum FROM table WHERE xyz=1 GROUP BY id
我會最終的結果:
id | mysum
================
1 | 3
2 | 2
3 | 1
完美。
事情是,我實際上想要做的就是按'代碼'列進行分組,以便如果對於id:1,其中有2個條目代碼爲'ba',那麼結果會更像這樣:
id | mysum
================
1 | 2
2 | 1
3 | 1
這裏是我對mysql的有限理解失敗的地方。因爲我認爲做這樣的查詢:
SELECT id, SUM(xyz) AS mysum FROM table WHERE xyz=1 GROUP BY id, code
但這顯然給出了結果,我以後不。
我該如何做這樣的查詢,做SUM列xyz,而省略它,如果它已經添加了一個具有相同的'代碼'?
哇。我不知道你可以做這樣的事情!或者sqlfiddle存在。但是,當我不只是試圖確保'ba'在結果中不重複時,而是'代碼'列中的任何一個?我會更新我的問題來澄清這一點。 – willdanceforfun
@cosmicbdog here http://sqlfiddle.com/#!2/ccf58/4 –
你是高手!先生,祝你好運! – willdanceforfun