Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL의 CONCAT에서 GROUP_CONCAT을 사용하는 방법은 무엇입니까?

<시간/>

먼저 테이블을 생성해 보겠습니다.

mysql> create table GroupConcatenateDemo
-> (
-> id int,
-> FirstName varchar(100),
-> Score int
-> );
Query OK, 0 rows affected (0.61 sec)

기록 삽입

이제 레코드를 삽입해 보겠습니다.

mysql> insert into GroupConcatenateDemo values(1,'John',94);
Query OK, 1 row affected (0.16 sec)

mysql> insert into GroupConcatenateDemo values(2,'Bob',98);
Query OK, 1 row affected (0.16 sec)

mysql> insert into GroupConcatenateDemo values(4,'Carol',100);
Query OK, 1 row affected (0.20 sec)

테이블에 몇 개의 레코드가 있는지 확인합니다.

mysql> select *from GroupConcatenateDemo;

다음은 출력입니다.

+------+-----------+-------+
| id   | FirstName | Score |
+------+-----------+-------+
| 1    | John      | 94    |
| 2    | Bob       | 98    |
| 3    | Carol     | 100   |
+------+-----------+-------+
3 rows in set (0.00 sec)

GROUP_CONCAT 사용 구문

다음은 레코드를 연결하는 구문입니다.

Select column_name1,group_concat(concat(`Column_name2`,'separatorValue',`Column_name3`) separator 'separatorValue')
as AliasName yourTableName group by column_name1;

다음은 예시입니다.

mysql> SELECT
-> id,group_concat(concat(`FirstName`,':',`score`) separator ',')
-> as FirstNameAndScore from GroupConcatenateDemo group by id;

다음은 성공적으로 레코드를 연결했음을 보여주는 출력입니다.

+------+-------------------+
| id   | FirstNameAndScore |
+------+-------------------+
| 1    | John:94           |
| 2    | Bob:98            |
| 3    | Carol:100         |
+------+-------------------+
3 rows in set (0.00 sec)