Kết hợp CONCAT() và GROUP_CONCAT() để gom nhóm giá trị và bọc mỗi giá trị trong nháy đơn.
Cú pháp
SELECT GROUP_CONCAT(CONCAT('''', ten_cot, '''')) AS ten_alias
FROM ten_bang;
'''' là cách escape nháy đơn trong chuỗi SQL (nháy đơn bao quanh nháy đơn).
Ví dụ minh họa
Tạo bảng Group_ConcatDemo:
CREATE TABLE Group_ConcatDemo (
Id INT NOT NULL AUTO_INCREMENT,
Value INT, PRIMARY KEY (Id)
);
INSERT INTO Group_ConcatDemo (Value) VALUES (100),(120),(234),(2345),(5678),(86879);
Truy vấn gom nhóm có nháy đơn
SELECT GROUP_CONCAT(CONCAT('''', Value, '''')) AS SingleQuote
FROM Group_ConcatDemo;
Kết quả:
+-----------------------------------------+
| SingleQuote |
+-----------------------------------------+
| '100','120','234','2345','5678','86879' |
+-----------------------------------------+
Ứng dụng: Tự động sinh câu lệnh IN (...) cho truy vấn khác, xuất CSV có quote, v.v.
Lưu ý: GROUP_CONCAT có giới hạn độ dài mặc định 1024 byte. Tăng bằng: SET SESSION group_concat_max_len = 1000000;