我对sum()函数有点熟悉,但在这种情况下,我很难搞清楚这一点。请注意下面的数据示例
**Address | State | People | Cars**
Rain St. | AZ | 25 | 20
Rain St. | AZ | 13 | 7
地址和状态都是相同的。我需要做的是将重复的地址/州的人员和汽车数量汇总到一个列中,用于所有重复项 - 如下所示
**Address | State | People | Cars**
Rain St. | AZ | 38 | 27
如何才能做到这一点?我觉得我很亲密,但我错过了一些东西。任何帮助表示赞赏。谢谢!
使用sum而不是count来获得示例中显示的所需结果。对于所有重复项,以下sql将重复的地址/州的人员和汽车数量聚合到一个列中。要同时包含非重复记录,请删除having子句。
select address, state, sum(pepole) as people, sum(cars) as cars
from table1
group by address , state
having count(*) > 1