Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL DB2:如何聚合列数据_Sql_Db2_Aggregate - Fatal编程技术网

SQL DB2:如何聚合列数据

SQL DB2:如何聚合列数据,sql,db2,aggregate,Sql,Db2,Aggregate,我对求和函数有点熟悉,但在这个例子中,我很难理解它。注意下面的数据示例 **Address | State | People | Cars** Rain St. | AZ | 25 | 20 Rain St. | AZ | 13 | 7 地址和状态都相同。我需要做的是将重复的地址/州的人员和车辆数量聚合到一个单独的列中,对于所有重复项,如下所示 **Address | State | People | Cars** Rain St. | AZ | 38 | 27 如何做到这一点?我觉得我很接

我对求和函数有点熟悉,但在这个例子中,我很难理解它。注意下面的数据示例

**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

提示:groupby.select address,state,countpepole as people,countcars as cars from table 1 groupby address我尝试了这个和一些变体,但在@Gordon的答案中无法详细说明-sum是一个聚合函数,这意味着它会计算groupby子句中列出的每件事的值。因此,由于您希望计算每个州的总和和汽车数量,请尝试类似的查询-从表1中选择地址、州、countpeople作为“人”,countcars作为“汽车数量”,按州分组,countcars。注意:列和表达式别名不可见,并且在Group by子句中,因此您必须按countcars引用聚合值。遗憾的是,这也不起作用。请从表1中选择地址、状态、将人员计数为“人员”,将车辆计数为“车辆数量”,按状态分组,countcars-这不起作用。由于计数的原因,它为每列生成一个“1”。。它不是把人或车加在一行。