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

MySQL을 사용하여 단일 행의 여러 행과 열 연결

<시간/>

여러 행과 열을 단일 행으로 연결하려면 CONCAT()과 함께 GROUP_CONCAT()을 사용할 수 있습니다. 먼저 테이블을 생성하겠습니다 -

mysql> create table DemoTable1463 -> ( -> ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> ClientName varchar(20), -> ClientAge int -> );쿼리 OK, 영향을 받은 행 0개(1.37초)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable1463(ClientName,ClientAge) values('Adam Smith',34);Query OK, 1행 영향(0.13초)mysql> insert into DemoTable1463(ClientName,ClientAge) values('John Doe', 29);쿼리 OK, 1행 영향(0.21초)mysql> DemoTable1463(ClientName,ClientAge) values('David Miller',NULL)에 삽입;Query OK, 1행 영향(0.28초)mysql> DemoTable1463(ClientName)에 삽입 ,ClientAge) values('John Smith',32);쿼리 OK, 영향을 받는 행 1개(0.14초)

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> DemoTable1463에서 * 선택;

이것은 다음과 같은 출력을 생성합니다 -

+----------+--------------+----------+| 클라이언트 ID | 클라이언트 이름 | ClientAge |+----------+--------------+-------------+| 1 | 아담 스미스 | 34 || 2 | 존 도 | 29 || 3 | 데이비드 밀러 | 널 || 4 | 존 스미스 | 32 |+----------+--------------+----------+4행 세트(0.00초) 

다음은 단일 행에서 여러 행과 열을 연결하는 쿼리입니다. −

mysql> DemoTable1463에서 group_concat(concat(ClientId,':',ClientName,':',IFNULL(ClientAge,''))) 선택;

이것은 다음과 같은 출력을 생성합니다 -

+---------------------------------------------- --------------------------+| group_concat(concat(ClientId,':',ClientName,':',IFNULL(ClientAge,''))) |+----------------------- --------------------------------------------------+ | 1:Adam Smith:34,2:John Doe:29,3:David Miller:,4:John Smith:32 |+---------------------- -------------------------------------------------- 세트에서 +1 행(0.04초)