Mysql sum 在一个字段上使用 group by 同时还考虑另一个字段

标签 mysql sql

我有一个连接表,我想从中对属性数量求和并按名称分组。

joined_tb
name        attr        amount
billy       'attr1'     2
billy       'attr2'     4
billy       'attr1'     7
billy       'attr3'     8
jean        'attr2'     6
jean        'attr1'     1
jean        'attr2'     11

此表是使用 id 连接这两个表的结果

t1                  t2
id  name            id    attr      amount
1   billy           1     'attr1'   2
2   jean            1     'attr2'   4
                    1     'attr1'   7
                    1     'attr3'   8
                    2     'attr2'   6
                    2     'attr1'   1
                    2     'attr2'   11

我想以这张表结束:

result_tb
name        attr        amount
billy       'attr1'     9
billy       'attr2'     4
billy       'attr3'     8
jean        'attr1'     1
jean        'attr2'     17

我可以通过 attr 求和,但它会忽略 name。如何从 t1t2 获取 result_tb

最佳答案

试试这个:

select t1.name, t2.attr, sum(t2.amount) from t1
join t2 on t1.id = t2.id
group by t1.name, t2.attr

关于Mysql sum 在一个字段上使用 group by 同时还考虑另一个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9323010/

相关文章:

java - 即使在设置 c3p0.testConnectionOnCheckout=true 后,与 MySQL 的数据库连接也会超时

java - 使用MySql在Hibernate中获取lazyLoadException

java - 数据写入错误

mysql - 递归更新 MySQL 中的父行

sql - 存储过程中的 LEFT JOIN 问题

php - mysqli、sha1/salt 密码有效性检查

c# - SELECT 从程序超时但在 SQL Server Management Studio 中工作

python - SQLAlchemy:防止自动关闭

mysql - PHP MySQL 选择 2 列,其中 1 列

sql - 拆分 SQL Server 2005 表中的数字和字母