當列必須滿足 MySQL 中的多個值時,如何選擇行?


對此,可以使用帶 IN() 的 GROUP BY HAVING 子句。我們先建立一個表 -

mysql> create table DemoTable1885
   (
   FirstName varchar(20),
   Subject varchar(50)
   );
Query OK, 0 rows affected (0.00 sec)

使用 insert 命令在表中插入一些記錄 -

mysql> insert into DemoTable1885 values('John','MySQL');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1885 values('John','MongoDB');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1885 values('Carol','MySQL');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1885 values('David','Java');
Query OK, 1 row affected (0.00 sec)

使用 insert 命令在表中顯示一些記錄 -

mysql> select * from DemoTable1885;

這將產生以下輸出 -

+-----------+---------+
| FirstName | Subject |
+-----------+---------+
| John      |    MySQL|
| John      |  MongoDB|
| Carol     |    MySQL|
| David     |    Java |
+-----------+---------+
4 rows in set (0.00 sec)

以下是當列必須滿足多個值時,選擇行的查詢

mysql> select FirstName from DemoTable1885
   where Subject IN('MySQL','MongoDB')
   group by FirstName
   having count(*)=2;

這將產生以下輸出 -

+-----------+
| FirstName |
+-----------+
| John      |
+-----------+
1 row in set (0.00 sec)

更新時間: 2019 年 12 月 27 日

506 次瀏覽

開啟你的 職業

完成課程以獲得認證

開始
廣告
© . All rights reserved.