一、PostgreSQL
函数说明
array_agg(expression)
把表达式变成一个数组 一般配合 array_to_string() 函数使用
string_agg(expression, delimiter)
直接把一个表达式变成字符串
使用案例
select student, string_agg(score, ',' order by questionord) from table_score group by student;
select array_agg(distinct class) from table_student;
select array_agg(distinct class order by class desc) from table_student;
使用注意
array_agg 直接使用字符,需要加入类型转换。否则会报错。
array_agg('-'::VARCHAR order by ord)
参考:
https://blog.csdn.net/u011944141/article/details/78902678
二、Oracle
使用案例
select to_char(WMSYS.WM_CONCAT(score)) from table_score group by student;
select LISTAGG(SCORE, ',') WITHIN GROUP (ORDER BY QUESTIONORD) from table_score;
三、MySQL
使用案例
select CONVERT (GROUP_CONCAT(SCORE order by score desc separator ';') USING utf8) from table_score,