listagg拼接字符串示例

假设有一个表格 students 包含以下数据:

listagg拼接字符串示例

使用以下 SQL 语句可以实现:

SELECT class, LISTAGG(name, ', ') WITHIN GROUP (ORDER BY id) AS students
FROM students
GROUP BY class;

LISTAGG 函数的语法为:

LISTAGG(expr, delimiter) WITHIN GROUP (ORDER BY order_expr)

其中:

  • expr:要拼接的字段或表达式
  • delimiter:拼接时使用的分隔符
  • order_expr:用于排序的字段或表达式(可选) 在上面的示例中,exprnamedelimiter,order_expridWITHIN GROUP (ORDER BY id) 表示按照学生的 id 排序后再进行拼接。 注意,LISTAGG 函数只适用于 Oracle 数据库。如果使用其他数据库,可能需要使用不同的函数或语法来实现类似的功能。