Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

จะใช้ GROUP_CONCAT ใน CONCAT ใน MySQL ได้อย่างไร?


ขั้นแรก ให้เราสร้างตาราง

mysql> สร้างตาราง GroupConcatenateDemo-> (-> id int,-> FirstName varchar(100),-> Score int-> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.61 วินาที)

กำลังแทรกบันทึก

ตอนนี้ให้เราแทรกบันทึกบางส่วน

mysql> แทรกลงในค่า GroupConcatenateDemo (1,'John',94); เคียวรีตกลง, 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงในค่า GroupConcatenateDemo (2,'Bob',98); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า GroupConcatenateDemo (4,'Carol',100) แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.20 วินาที)

เพื่อตรวจสอบว่ามีกี่ระเบียนในตาราง

mysql> เลือก *จาก GroupConcatenateDemo;

นี่คือผลลัพธ์

<ก่อนหน้า>+------+-----------+-------+| id | ชื่อจริง | คะแนน |+------+-----------+-------+| 1 | จอห์น | 94 || 2 | บ๊อบ | 98 || 3 | แครอล | 100 |+------+-----------+-------+3 แถวในชุด (0.00 วินาที)

ไวยากรณ์ที่จะใช้ GROUP_CONCAT

ต่อไปนี้เป็นวากยสัมพันธ์สำหรับเชื่อมเร็กคอร์ด

เลือก column_name1,group_concat(concat(`Column_name2`,'separatorValue',`Column_name3`) ตัวคั่น 'separatorValue')เป็น AliasName yourTableName group โดย column_name1;

ต่อไปนี้เป็นตัวอย่าง

mysql> SELECT-> id,group_concat(concat(`FirstName`,':',`score`) separator ',')-> เป็น FirstNameAndScore จาก GroupConcatenateDemo group โดย id;

นี่คือผลลัพธ์ที่แสดงว่าเราต่อระเบียนสำเร็จแล้ว

<ก่อนหน้า>+------+-------------------+| id | FirstNameAndScore |+------+-------------------+| 1 | จอห์น:94 || 2 | บ๊อบ:98 || 3 | Carol:100 |+------+-------------------+3 แถวในชุด (0.00 วินาที)