Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách trích dẫn giá trị cột đơn lẻ dùng GROUP_CONCAT và CONCAT với DISTINCT trong MySQL

Để làm điều này, bạn có thể sử dụng GROUP_CONCAT() kết hợp với REPLACE(). Hãy cùng tạo một bảng trước:

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 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)

Hiển thị tất cả bản ghi từ bảng bằng lệnh SELECT:

mysql> SELECT * FROM DemoTable1799;

Kết quả sẽ như sau:

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

Dưới đây là truy vấn để trích dẫn giá trị của cột đơn lẻ sử dụng GROUP_CONCAT và CONCAT với DISTINCT:

mysql> SELECT GROUP_CONCAT(DISTINCT CONCAT("'", REPLACE(EmployeeId, ",", "','") , "'")) AS Output FROM DemoTable1799; 

Kết quả sẽ như sau:

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