dongshi1869 2015-12-08 03:54
浏览 81
已采纳

MYSQL TOTAL多个独特的列

I've got some data like this

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

What I want to do is total All the Value in Column VAL ONLY if the column Has Uniquq Value Combination.

In Above Case The Total is 2 + 3 + 5 = 10 The Third Row isn't counted because the combination of 5 6 3 is not unique.

I've tried GROUP BY COL A,COL B,COL C, it will result

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

The thing is I dont know how to get the total of it. I've tried WITH ROLLUP, somehow it makes the table messy.

Any help is Appreciated. Thanks.

  • 写回答

1条回答 默认 最新

  • dppcyt6157 2015-12-08 03:59
    关注

    If the combination is not unique, which value do you choose? Remember, SQL tables represent unordered sets, so there is no notion of one row being before or after another.

    According to your example, the following works:

    select sum(val)
    from (select a, b, c, min(val) as val
          from t
          group by a, b, c
         ) t;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错
  • ¥15 换yum源但仍然用不了httpd
  • ¥50 C# 使用DEVMOD设置打印机首选项
  • ¥15 麒麟V10 arm安装gdal
  • ¥20 OPENVPN连接问题
  • ¥15 flask实现搜索框访问数据库
  • ¥15 mrk3399刷完安卓11后投屏调试只能显示一个设备