SQL 列转行编程
在数据库中,有时候我们需要将列转换为行,即将一列中的多个值按照某种方式组合成一行。这在一些数据分析和报表生成的场景中非常常见。本文将介绍如何使用 SQL 进行列转行编程,并提供相应的源代码示例。
假设我们有一个名为 employees 的表,其中包含员工的姓名和所属部门,如下所示:
+----+-----------+------------+
| ID | Name | Department |
+----+-----------+------------+
| 1 | John | Sales |
| 2 | Jane | Marketing |
| 3 | Michael | IT |
+----+-----------+------------+
我们的目标是将部门名称转换为行,并将每个部门所属的员工以逗号分隔的形式列在一起。下面是一个示例查询,实现了这个功能:
SELECT Department, GROUP_CONCAT(Name) AS Employees
本文介绍了如何在数据库中使用SQL进行列转行编程,包括使用GROUP_CONCAT(MySQL)、STRING_AGG(PostgreSQL)、LISTAGG(Oracle)或STRING_SPLIT(SQL Server)等函数,以及自连接的方法。示例展示了将员工部门转换为行并按特定顺序连接员工姓名的过程。
订阅专栏 解锁全文
3507

被折叠的 条评论
为什么被折叠?



