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

모든 행에서 값을 가져와 MySQL과 함께 쉼표로 구분된 단일 행에 표시

<시간/>

이를 위해 GROUP_CONCAT()을 사용합니다. GROUP_CONTACT()가 더 좋고 빠른 솔루션이므로 GROUP BY 절을 사용하지 마십시오.

먼저 테이블을 생성하겠습니다 -

mysql> 테이블 DemoTable1371 생성 -> ( -> Id int, -> CountryName varchar(40) -> );쿼리 OK, 영향을 받는 행 0개(0.89초)

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

mysql> insert into DemoTable1371 values(100,'US');Query OK, 1행 영향(0.15초)mysql> insert into DemoTable1371 values(100,'UK');Query OK, 1행 영향(0.21초) )mysql> Insert into DemoTable1371 values(101,'AUS');Query OK, 1개의 row가 영향을 받았습니다. /사전> 

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

mysql> DemoTable1371에서 * 선택;

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

+------+-------------+| 아이디 | 국가 이름 |+------+-------------+| 100 | 미국 || 100 | 영국 || 101 | 호주 || 101 | 앙골라 |+------+-------------+4행 세트(0.00초)

다음은 모든 행에서 값을 가져와 쉼표로 구분된 단일 행으로 표시하는 쿼리입니다 -

mysql> DemoTable1371에서 group_concat(CountryName 구분 기호 ',') 선택;

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

+---------------------------------------------------------+| group_concat(국가명 구분 기호 ',') |+---------------------------------------- -+| 미국, 영국, 호주, 앙골라 |+----------------------------------------- 세트의 +1 행(0.00초)