使用 JOIN 的 MySQL 查詢以計數具有互相關係的列?


為此,請使用聚合函式 COUNT(*)。首先建立一張表 -

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

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

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)

使用 select 語句,顯示錶中的所有記錄 -

mysql> select * from DemoTable1543;

這將產生下面的輸出 -

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

以下是查詢與兩個列中數字 90 相互關聯的列的查詢 -

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

這將產生下面的輸出 -

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

更新於: 2019 年 12 月 12 日

647 次瀏覽

啟動您的職業

完成本課程,取得認證

開始學習
廣告