ฟังก์ชัน GROUP_CONCAT() ใน MySQL รวมค่าจากหลายแถวเป็นสตริงเดียว คั่นด้วยตัวคั่นที่กำหนด (Default คือจุลภาค) เหมาะสำหรับสร้างรายการ, Path, หรือ CSV
ตัวอย่างการใช้งาน
สร้างตารางเก็บส่วนของ Path:
mysql> create table DemoTable1355 (Location text);
mysql> insert into DemoTable1355 values('E:'),('AllPrograms'),('ChatApplicationInJava'),('MainFolder');
ข้อมูลต้นฉบับ (4 แถว):
+-----------------------+ | Location | +-----------------------+ | E: | | AllPrograms | | ChatApplicationInJava | | MainFolder | +-----------------------+
คำสั่งรวมเป็น Path เดียว คั่นด้วย /
mysql> select group_concat(Location separator '/') from DemoTable1355;
ผลลัพธ์ (1 แถว)
+-------------------------------------------------+ | group_concat(Location separator '/') | +-------------------------------------------------+ | E:/AllPrograms/ChatApplicationInJava/MainFolder | +-------------------------------------------------+
คำอธิบายเพิ่มเติม:
SEPARATOR '/'กำหนดตัวคั่น (Default คือ',')ORDER BYภายใน:GROUP_CONCAT(col ORDER BY col SEPARATOR ',')DISTINCTภายใน:GROUP_CONCAT(DISTINCT col ...)ลบค่าซ้ำ- ข้อจำกัด: ความยาวสูงสุดควบคุมโดย
group_concat_max_len(Default 1024 bytes) ต้องเพิ่มหากข้อมูลยาว - MySQL 8.0+ มี
JSON_ARRAYAGG()สำหรับสร้าง JSON Array แทน