Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Tìm tất cả người dùng có họ duy nhất trong MySQL

Sử dụng GROUP BY ... HAVING COUNT(DISTINCT ...) = 1.

Tạo bảng demo76:

mysql> CREATE TABLE demo76 (
    -> firstName VARCHAR(20),
    -> lastName VARCHAR(20)
    -> );

Chèn dữ liệu:

mysql> INSERT INTO demo76 VALUES('John','Doe');
mysql> INSERT INTO demo76 VALUES('David','Smith');
mysql> INSERT INTO demo76 VALUES('Adam','Smith');

Hiển thị dữ liệu:

mysql> SELECT * FROM demo76;
+-----------+----------+
| firstName | lastName |
+-----------+----------+
| John      | Doe      |
| David     | Smith    |
| Adam      | Smith    |
+-----------+----------+

Truy vấn tìm lastName chỉ xuất hiện một lần (unique):

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;

Kết quả (chỉ 'Doe' là duy nhất):

+--------------------+----------+------------------+
| MAX(tbl.firstName) | lastName | CountOfFirstName |
+--------------------+----------+------------------+
| John               | Doe      | 1                |
+--------------------+----------+------------------+