Computer >> Máy Tính >  >> Lập trình >> MySQL

Một truy vấn MySQL duy nhất để kết hợp các chuỗi từ nhiều hàng thành một hàng duy nhất và hiển thị tổng User Id tương ứng trong một cột khác?

Đối với điều này, bạn có thể sử dụng GROUP_CONCAT (). Sử dụng SUM () để thêm Id Người dùng. Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable1960
   (
   StudentId int,
   StudentName 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 chèn -

mysql> insert into DemoTable1960 values(100,'Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1960 values(101,'Bob');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1960 values(102,'David');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1960 values(103,'Mike');
Query OK, 1 row affected (0.00 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select * from DemoTable1960;

Điều này sẽ tạo ra kết quả sau -

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
|       100 | Chris       |
|       101 | Bob         |
|       102 | David       |
|       103 | Mike        |
+-----------+-------------+
4 rows in set (0.00 sec)

Đây là truy vấn để kết hợp các chuỗi từ nhiều hàng thành một hàng và cũng hiển thị tổng Id người dùng -

mysql> select sum(StudentId),group_concat(StudentName separator '.') as ListOfStudent from DemoTable1960;

Điều này sẽ tạo ra kết quả sau -

+----------------+----------------------+
| sum(StudentId) | ListOfStudent        |
+----------------+----------------------+
|            406 | Chris.Bob.David.Mike |
+----------------+----------------------+
1 row in set (0.00 sec)