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

รวมสตริงหลายแถวเป็นแถวเดียว และ SUM ID ด้วย GROUP_CONCAT ใน MySQL

การรวมค่าจากหลายแถว (String Aggregation) และหาผลรวม ID

ใช้ GROUP_CONCAT() รวมชื่อคั่นด้วย '.' และ SUM() หาผลรวม ID

สร้างตารางและเพิ่มข้อมูล

mysql> CREATE TABLE DemoTable1960 (
    -> StudentId INT,
    -> StudentName VARCHAR(20)
    -> );
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO DemoTable1960 VALUES(100, 'Chris');
mysql> INSERT INTO DemoTable1960 VALUES(101, 'Bob');
mysql> INSERT INTO DemoTable1960 VALUES(102, 'David');
mysql> INSERT INTO DemoTable1960 VALUES(103, 'Mike');

คำสั่ง SQL รวมและ SUM

mysql> SELECT SUM(StudentId),
    -> GROUP_CONCAT(StudentName SEPARATOR '.') AS ListOfStudent
    -> FROM DemoTable1960;

ผลลัพธ์:

+----------------+----------------------+
| sum(StudentId) | ListOfStudent        |
+----------------+----------------------+
| 406            | Chris.Bob.David.Mike |
+----------------+----------------------+

คำอธิบาย: GROUP_CONCAT รวมค่าของคอลัมน์ในกลุ่ม (ที่นี่ไม่มี GROUP BY จึงรวมทั้งตาราง) SEPARATOR '.' กำหนดตัวคั่น SUM(StudentId) บวก ID ทั้งหมด