MySQL 如何选择行,当列必须满足多个值
为此,您可以使用GROUP BY HAVING子句以及IN()。让我们首先创建一个表 –
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)
阅读更多:MySQL 教程