如何在 MySQL 中使用带 DISTINCT 的 GROUP_CONCAT 和 CONCAT 引用单列值?


对于此操作,你可以将 group_concat() 与 replace() 一起使用。我们首先创建一个表 -

mysql> create table DemoTable1799
     (
     EmployeeId varchar(20)
     );
Query OK, 0 rows affected (0.00 sec)

使用 insert 命令在表中插入一些记录 -

mysql> insert into DemoTable1799 values('101,102,103,104');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1799 values('106,109');
Query OK, 1 row affected (0.00 sec)

使用 select 语句从表中显示所有记录 -

mysql> select * from DemoTable1799;

这将生成以下输出

+-----------------+
| EmployeeId      |
+-----------------+
| 101,102,103,104 |
| 106,109         |
+-----------------+
2 rows in set (0.00 sec)

以下是使用 group_concat 和 concat with distinct 引用单列值的方法 -

mysql> select group_concat(distinct concat("'", replace(EmployeeId, "," , "','") , "'")) as Output from DemoTable1799;

这将生成以下输出 -

+-------------------------------------+
| Output                              |
+-------------------------------------+
| '101','102','103','104','106','109' |
+-------------------------------------+
1 row in set (0.00 sec)

更新于: 2019 年 12 月 23 日

399 浏览

开启你的 职业生涯

完成课程获得认证

开始
广告