Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm thế nào để chọn hàng khi cột phải thỏa mãn nhiều giá trị trong MySQL?

Đối với điều này, bạn có thể sử dụng mệnh đề GROUP BY HAVING cùng với IN (). Đầu tiên chúng ta hãy tạo một bảng -

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

Chèn một số bản ghi vào bảng bằng lệnh chèn -

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)

Hiển thị một số bản ghi trong bảng bằng lệnh insert -

mysql> select * from DemoTable1885;

Điều này sẽ tạo ra kết quả sau -

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

Đây là truy vấn để chọn hàng khi cột phải thỏa mãn nhiều giá trị:

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

Điều này sẽ tạo ra kết quả sau -

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