고유한 성을 가진 모든 사용자를 찾으려면 GROUP BY HAVING COUNT()를 사용하십시오.
테이블을 만들어 봅시다 -
예시
mysql> create table demo76 -> ( -> firstName varchar(20), -> lastName varchar(20) -> ); Query OK, 0 rows affected (9.29
insert 명령을 사용하여 일부 레코드를 테이블에 삽입하십시오 -
예시
mysql> insert into demo76 values('John','Doe'); Query OK, 1 row affected (2.52 mysql> insert into demo76 values('David','Smith'); Query OK, 1 row affected (6.31 mysql> insert into demo76 values('Adam','Smith'); Query OK, 1 row affected (1.52
select 문을 사용하여 테이블의 레코드 표시 -
예시
mysql> select *from demo76;
이것은 다음과 같은 출력을 생성합니다 -
출력
+-----------+----------+
| firstName | lastName |+-----------+----------+
| John | Doe || David | Smith |
| Adam | Smith |+-----------+----------+
3 rows in set (0.00 sec)
다음은 고유한 성을 가진 모든 사용자를 찾는 쿼리입니다 -
예시
mysql> select max(tbl.firstName), tbl.lastName, -> count(distinct tbl.firstName) as CountOfFirstName -> from demo76 as tbl -> group by tbl.lastName -> having count(distinct tbl.firstName) = 1;
이것은 다음과 같은 출력을 생성합니다 -
출력
+--------------------+----------+------------------+
| max(tbl.firstName) | lastName | CountOfFirstName |+--------------------+----------+------------------+
| John | Doe | 1 |+--------------------+----------+------------------+
1 row in set (0.00 sec)