#mysql #sql-server #postgresql #string-aggregation
Вопрос:
Как объединить строки разного типа в Mysql, PostgreSQL или SQL Server, ниже приведены данные type = 1
провинции и type = 2
города, я хотел бы объединить их в столбец,
name code type
Sichuan 610000 1
Chengdu 610000 2
Hubei 430000 1
Wuhan 430000 2
и мой ожидаемый результат ниже:
name code
SichuanChengdu 610000
HubeiWuhan 430000
Комментарии:
1. Скаляр: MySQL —
CONCAT()
функция, PostgreSQL —||
оператор, SQL Server —оператор.
2. Агрегат: MySQL —
GROUP_CONCAT()
функция, PostgreSQL и SQL Server —string_agg()
функция.
Ответ №1:
В Postgres вы можете использовать:
select string_agg(name, '' order by type) code
from the_table
group by code;