2017-04-22 32 views
-1

我有類似以下SqlFiddle http://sqlfiddle.com/#!9/f30a65/1/0Mysql的獲得人數從多列

我需要獲得組,但麻煩的是,該數據是在多個列的數據庫重複...

EG結果預期:

VALUE - COUNT或GROUP BY

13 - 2

11 - 1

感謝大家

+0

集團? –

+0

@AshrafulIslam我認爲我不能按列逐列進行正常組合,因爲數據是混合的,也許在單個別名列中加入每個值,然後按這個臨時列進行分組將會工作 – Goikiu

+0

使用'UNION ALL'子查詢來「unpivot 「 桌子。並且請將數據和預期結果添加到您的問題中。 sqfiddle有太多超時。 –

回答

1

如果你想集團通過對所有列相結合,你可以通過在其列中使用

SELECT value, count(value) as count FROM (
    SELECT C1 as value FROM TABLE1 
    UNION ALL 
    SELECT C2 as value FROM TABLE1 
    UNION ALL 
    SELECT C3 as value FROM TABLE1 
    UNION ALL 
    SELECT C4 as value FROM TABLE1 
    UNION ALL 
    SELECT C5 as value FROM TABLE1 
    UNION ALL 
    SELECT C6 as value FROM TABLE1 
) all_col GROUP BY value 
+0

有道理,做到這一點,但現在我有兩個或更多的重複的數字(他們的計數)根據他們的列位置 – Goikiu

+0

@Goikiu答案更新 –

+0

謝謝:)這解決了我的問題 – Goikiu