
SQL:
SELECT group_concat(name,',',remark order by id desc separator ';') FROM test group by age;
運行結果:
2.oracle:
wmsys.wm_concat函數,功能比較簡單,只能實現單字段間的合并,demo如下:
表數據:

SQL:
SELECT DISTINCT
wmsys.wm_concat (NAME) OVER (
PARTITION BY AGE
ORDER BY
(SELECT 1 FROM dual)
)
FROM
(
SELECT
*
FROM
T_TEST
ORDER BY
ID DESC
) T
結果:
3.Postgresql:array_to_string以及
string_agg兩個函數都能實現,推薦string_agg,demo如下:
表數據:
SQL:
SELECT id,array_to_string(ARRAY(SELECT unnest(array_agg(name)) order by 1),';') FROM t_kenyon GROUP BY id ORDER BY id;
SELECT id,string_agg(name,';') FROM t_kenyon GROUP BY id ORDER BY id;
結果:
