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

Truy vấn MySQL để đếm các hàng có quan hệ lẫn nhau bằng cách sử dụng JOIN?

Đối với điều này, hãy sử dụng hàm tổng hợp COUNT (*). Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable1543
   -> (
   -> Value1 int,
   -> Value2 int
   -> );
Query OK, 0 rows affected (1.36 sec)

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

mysql> insert into DemoTable1543 values(57,60);
Query OK, 1 row affected (0.52 sec)
mysql> insert into DemoTable1543 values(60,68);
Query OK, 1 row affected (0.38 sec)
mysql> insert into DemoTable1543 values(90,98);
Query OK, 1 row affected (0.36 sec)
mysql> insert into DemoTable1543 values(98,90);
Query OK, 1 row affected (0.20 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 DemoTable1543;

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

+--------+--------+
| Value1 | Value2 |
+--------+--------+
|     57 |     60 |
|     60 |     68 |
|     90 |     98 |
|     98 |     90 |
+--------+--------+
4 rows in set (0.00 sec)

Đây là truy vấn để đếm các hàng có mối quan hệ tương hỗ như số 90 trong cả hai cột -

mysql> select count(*) from DemoTable1543 tbl1
   -> join DemoTable1543 tbl2
   -> on tbl1.Value2=tbl2.Value1
   -> where tbl1.Value1=90 and tbl2.Value2=90;

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

+----------+
| count(*) |
+----------+
|        1 |
+----------+
1 row in set (0.00 sec)