Lấy tất cả bản ghi có hai giá trị khác nhau trong cột khác với MySQL
Để thực hiện việc này, bạn có thể sử dụng mệnh đề GROUP BY HAVING.
Hãy tạo một bảng trước:
mysql> create table DemoTable751 (
StudentName varchar(100),
SubjectName varchar(100)
);
Query OK, 0 rows affected (0.66 sec)
Chèn một số bản ghi vào bảng bằng lệnh insert:
mysql> insert into DemoTable751 values('John','MySQL');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable751 values('John','MongoDB');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable751 values('Sam','MySQL');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable751 values('Carol','Java');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable751 values('David','MySQL');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable751 values('Carol','MongoDB');
Query OK, 1 row affected (0.17 sec)
Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select:
mysql> select * from DemoTable751;
Điều này sẽ tạo ra đầu ra sau:
+-------------+-------------+ | StudentName | SubjectName | +-------------+-------------+ | John | MySQL | | John | MongoDB | | Sam | MySQL | | Carol | Java | | David | MySQL | | Carol | MongoDB | +-------------+-------------+ 6 rows in set (0.00 sec)
Truy vấn sau lấy tất cả bản ghi có hai giá trị khác nhau trong MySQL:
mysql> select StudentName from DemoTable751 group by StudentName having count(SubjectName) > 1;
Điều này sẽ tạo ra đầu ra sau:
+-------------+
| StudentName |
+-------------+
| John |
| Carol |