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

MySQL에서 고유한 성을 가진 모든 사용자를 찾으시겠습니까?

<시간/>

고유한 성을 가진 모든 사용자를 찾으려면 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)