2015-12-08 35 views
-3

我已經得到了一些數據,這樣MYSQL TOTAL多個獨特COLUMN

================================= 
COL A | COL B | COL C | VAL 
================================= 
    5 | 6 | 3 | 2 
    2 | 6 | 3 | 3 
    5 | 6 | 3 | 4 
    5 | 6 | 1 | 5 

我想要做的是總的所有列VAL只有當列有Uniquq值組合價值。

在上述情況下總數爲2 + 3 + 5 = 10 第三行未計數,因爲5 6 3的組合不是唯一的。

我試着GROUP BY COL A,COL B,COL C,它會導致

================================= 
COL A | COL B | COL C | VAL 
================================= 
    5 | 6 | 3 | 2 
    2 | 6 | 3 | 3 
    5 | 6 | 1 | 5 

的事情是我不知道如何得到總的吧。 我嘗試過ROLLUP,不知何故它使桌子凌亂。

任何幫助被讚賞。謝謝。

+0

您在這裏有一個搶七問題。所以你的問題不能回答 – Drew

+0

總結'GROUP BY COL A,COL B,COL C' – bansi

回答

1

如果組合不是唯一的,您選擇哪個值?請記住,SQL表代表無序的集,所以沒有一行在前或後的概念。

根據你的榜樣,下面的工作:

select sum(val) 
from (select a, b, c, min(val) as val 
     from t 
     group by a, b, c 
    ) t; 
+0

其實我真的不關心訂單。 – Yokowasis

+0

測試過了,這就是我要找的。謝謝您的幫助。我不知道爲什麼我的問題得不償失。 – Yokowasis