我有一个连接表,我想从中对属性数量求和并按名称分组。
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
。如何从 t1
和 t2
获取 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/