Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm thế nào để trích dẫn các giá trị của một cột bằng cách sử dụng GROUP_CONCAT và CONCAT với DISTINCT trong MySQL?

Đối với điều này, bạn có thể sử dụng group_concat () cùng với Replace (). Đầu tiên chúng ta hãy tạo một bảng -

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

Chèn một số bản ghi vào bảng bằng lệnh chèn -

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)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select * from DemoTable1799;

Điều này sẽ tạo ra kết quả sau:

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

Đây là truy vấn để trích dẫn các giá trị của cột đơn bằng cách sử dụng group_concat và nối với khác biệt -

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

Điều này sẽ tạo ra kết quả sau -

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