이를 위해 하위 쿼리와 함께 GROUP BY HAVING을 사용할 수 있습니다. 먼저 테이블을 생성하겠습니다 -
mysql> 테이블 생성 DemoTable1861 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(20), Marks int );쿼리 OK, 영향을 받는 행 0개(0.00초)
삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -
mysql> insert into DemoTable1861(Name,Marks) values('John',45);Query OK, 영향을 받는 행 1개(0.00초)mysql> insert into DemoTable1861(Name,Marks) values('Chris',74);Query OK, 영향을 받는 행 1개(0.00초)mysql> DemoTable1861(Name,Marks) values('David',89)에 삽입;Query OK, 영향을 받는 행 1개(0.00초)mysql> DemoTable1861(Name,Marks)에 삽입 values('Chris',74);쿼리 확인, 1행 영향(0.00초)mysql> DemoTable1861(Name,Marks)에 삽입 values('John',49);쿼리 확인, 1행 영향(0.00초)사전>select 문을 사용하여 테이블의 모든 레코드 표시 -
mysql> DemoTable1861에서 * 선택;이것은 다음과 같은 출력을 생성합니다 -
+----+-------+-------+| 아이디 | 이름 | 표시 |+----+-------+-------+| 1 | 존 | 45 || 2 | 크리스 | 74 || 3 | 데이비드 | 89 || 4 | 크리스 | 74 || 5 | 존 | 49 |+----+-------+-------+5행 세트(0.00초)다음은 하나 이상의 열에서 정확한 값을 가진 행을 찾는 쿼리입니다.
mysql> Select Id,Name,Marks from DemoTable1861 where (Name,Marks) IN ( Select Name,Marks from DemoTable1861 group by Name,Marks with count(*)> 1);이것은 다음과 같은 출력을 생성합니다 -
+----+-------+-------+| 아이디 | 이름 | 표시 |+----+-------+-------+| 2 | 크리스 | 74 || 4 | 크리스 | 74 |+----+-------+-------+2행 세트(0.00초)