중복을 삭제하고 테이블에 하나의 행을 남기려면 임시 테이블의 개념을 사용해야 합니다. 단계는 다음과 같습니다 -
선택 고유 yourColumnName1, yourColumnName2 from yourTableName;truncate table yourTableName;insert into yourTableName(yourColumnName1, yourColumnName2)으로 anytemporaryTableName 테이블 생성 yourtemporaryTableName에서 yourColumnName1, yourColumnName2 선택;drop table yourtemporaryTableName;
테이블을 만들어 봅시다 -
mysql> create table demo39−> (−> user_id int,−> user_name varchar(20)−> );쿼리 OK, 영향을 받는 행 0개(0.74초)
insert 명령을 사용하여 일부 레코드를 테이블에 삽입하십시오 -
mysql> demo39 값에 삽입(10,'John');쿼리 OK, 1행 영향(0.19초)mysql> demo39 값에 삽입(10,'John');쿼리 OK, 1행 영향(0.13초) )mysql> demo39 값에 삽입(11,'David');쿼리 OK, 1행 영향(0.20초)mysql> demo39 값에 삽입(11,'David');쿼리 OK, 1행 영향(0.17초)사전>select 문을 사용하여 테이블의 레코드 표시 -
mysql> select *from demo39;이것은 다음과 같은 출력을 생성합니다 -
+---------+-----------+| 사용자 아이디 | 사용자 이름 |+---------+-----------+| 10 | 존 || 10 | 존 || 11 | 데이비드 || 11 | David |+---------+-----------+세트의 행 4개(0.00초)다음은 중복을 삭제하고 테이블에 하나의 행을 남기는 쿼리입니다 -
mysql> create table TemporaryTable as select 고유 user_id, user_name from demo39;Query OK, 영향을 받는 행 2개(1.39초)Records:2 중복:0 Warnings:0mysql> truncate table demo39;Query OK, 영향을 받는 행 0개(2.30초) )mysql> insert into demo39(user_id, user_name) 임시 테이블에서 user_id, user_name 선택, 쿼리 확인, 영향을 받는 2개 행(0.16초) 레코드:2 중복:0 경고:0mysql> 테이블 삭제 임시 테이블, 쿼리 확인, 영향을 받는 0개(1.01 초)select 문을 사용하여 테이블의 레코드 표시 -
mysql> select *from demo39;이것은 다음과 같은 출력을 생성합니다 -
+---------+-----------+| 사용자 아이디 | 사용자 이름 |+---------+-----------+| 10 | 존 || 11 | David |+---------+-----------+세트에 행 2개(0.00초)