使用 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 次浏览

启动您的职业

完成本课程,取得认证

开始学习
广告