MYSQL TOTAL多个独特的列

时间:2015-12-08 03:54:09

标签: php mysql sql

我有这样的数据

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

如果列具有Uniquq值组合,我想要做的只是列VAL中的所有值。

在上面的案例中总数是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

事情是我不知道如何获得总数。 我试过WITH ROLLUP,不知怎的,这让桌子弄得乱七八糟。

任何帮助都是赞赏的。感谢。

1 个答案:

答案 0 :(得分:1)

如果组合不是唯一的,您选择哪个值?请记住,SQL表代表无序集,因此没有一行在其他行之前或之后的概念。

根据您的示例,以下工作:

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