MYSQL总共有多个唯一列


MYSQL TOTAL MULTIPLE UNIQUE 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,不知怎么的,它会把桌子弄得一团糟。

感谢您的帮助。谢谢

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

根据你的例子,以下工作:

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