首页 > 解决方案 > 将多行中的信息重新排列为一行

问题描述

我有一张桌子,它的创建方式是任何拥有不止一辆车的人最终会出现在不止一行中:

表:

 name       car
 -----      -----
 Joe        Ford    
 Alex       Ferrari        
 Alex       Audi    
 Jimmy      Fiat

有没有办法创建一个 SQL 查询,该查询返回重新排列为每行只有一个人的表,并连接汽车?

通缉表:

 name       car
 -----      -----
 Joe        Ford        
 Alex       FerrariAudi                  
 Jimmy      Fiat

标签: sql

解决方案


使用GROUP BY. 汽车类型的连接取决于您使用的数据库。在Postgres你可以写

SELECT name, string_agg(car, '') AS car FROM mytable GROUP BY name

推荐阅读