หากต้องการค้นหาผู้ใช้ทั้งหมดที่มีนามสกุลไม่ซ้ำกัน ให้ใช้ 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)