mysql - 根据不同的标准求和值

标签 mysql sql sql-server sql-server-2008 tsql

我想对同一列中的值求和,但取决于不同列中的某些条件,即

value   column1 column2 column3
 11        a       x      m
 45        b       y      n
 50        b       z      p
 12        c       x      p

例如我想要“值(value)”的总和 column1 = b & column2 = z & column n

我使用了以下语法:

sum(case when column1 = b & column2 = z & column n then value end) total

这行得通,但我要处理很多列,所以有没有更简单的方法来做到这一点。 我在想循环,但无法理解 SQL 中的循环。

最佳答案

SELECT SUM(value) FROM table GROUP BY col1, col2, col3

如果特定集合需要,您可以使用

SELECT SUM(value) FROM table GROUP BY col1, col2, col3 HAVING col1='a' AND col2='n' AND col3='c'

关于mysql - 根据不同的标准求和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13602976/

相关文章:

c# - 为什么异步代码比同步代码慢这么多

sql-server - SSDT - 如何 : Incremental Updates?

mysql - (Neo4J 或 mysql)和 redis - 社交网络

php - 无法将表单中的数组值插入 mysql 数据库中的单行

sql - 查找所有重复的组,其中重复意味着包含相同成员的组

php - php mysql 中的 id 分组错误?

SQL:LIKE where 条件指定一个字母后跟一个数字,然后是其他任何东西?

PHP 在 MYSQL 查询中使用 session

java - 添加数据后刷新表

mysql - 多个查询 VS 存储过程