Sql 是否将一列下的不同记录转换为一行?

Sql 是否将一列下的不同记录转换为一行?,sql,postgresql,string-aggregation,Sql,Postgresql,String Aggregation,我有一个表,其中除了一列中的值之外,所有记录都是相同的。 大概是这样的: 城市 仓库 订单编号 客户编号 圣地亚哥 SD1 1234 5678 圣地亚哥 SD2 1234 5678 圣地亚哥 SD3 1234 5678 您可以使用string\u aggaggregate函数。如果加载此值的代码将解码回字符串数组,则可以使用将在JSON数组中聚合的jsonb_aggaggregate函数 您可以使用以下查询。按城市对记录进行分组,然后使用STRING\u AGG功能 SELECT City, S

我有一个表,其中除了一列中的值之外,所有记录都是相同的。 大概是这样的:

城市 仓库 订单编号 客户编号 圣地亚哥 SD1 1234 5678 圣地亚哥 SD2 1234 5678 圣地亚哥 SD3 1234 5678
您可以使用
string\u agg
aggregate函数。如果加载此值的代码将解码回字符串数组,则可以使用将在JSON数组中聚合的
jsonb_agg
aggregate函数


您可以使用以下查询。按城市对记录进行分组,然后使用
STRING\u AGG
功能

SELECT City, STRING_AGG(Warehouse, ',') AS Warehouse, OrderID, CustomerID
FROM yourTable
GROUP BY City,OrderID,CustomerID