이를 위해 GROUP BY 절과 함께 GROUP_CONCAT()을 사용할 수 있습니다. 둘 다 중복을 연결하고 한 줄에 표시하는 데 사용됩니다. 먼저 테이블을 생성하겠습니다 -
mysql> create table DemoTable ( StudentFavouriteSubject varchar(40), StudentName varchar(40) ) ; Query OK, 0 rows affected (0.75 sec)
삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -
mysql> insert into DemoTable values('MySQL','Chris'); Query OK, 1 row affected (0.22 sec) mysql> insert into DemoTable values('MongoDB','Bob'); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable values('MySQL','Sam'); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable values('Java','Mike'); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable values('C','Carol'); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable values('MongoDB','John'); Query OK, 1 row affected (0.18 sec)
select 문을 사용하여 테이블의 모든 레코드 표시 -
mysql> select *from DemoTable;
이것은 다음과 같은 출력을 생성합니다 -
+-------------------------+-------------+ | StudentFavouriteSubject | StudentName | +-------------------------+-------------+ | MySQL | Chris | | MongoDB | Bob | | MySQL | Sam | | Java | Mike | | C | Carol | | MongoDB | John | +-------------------------+-------------+ 6 rows in set (0.00 sec)
다음은 중복 항목을 찾아 한 줄에 표시하는 쿼리입니다. −
mysql> select group_concat(StudentName),StudentFavouriteSubject from DemoTable group by StudentFavouriteSubject;
이것은 다음과 같은 출력을 생성합니다 -
+---------------------------+-------------------------+ | group_concat(StudentName) | StudentFavouriteSubject | +---------------------------+-------------------------+ | Carol | C | | Mike | Java | | Bob,John | MongoDB | | Chris,Sam | MySQL | +---------------------------+-------------------------+ 4 rows in set (0.00 sec)