MySQL查询使用JOIN计算具有相互关系的行?
为此,请使用聚合函数COUNT(*)。让我们首先创建一个表-
create table DemoTable1543 -> ( -> Value1 int, -> Value2 int -> );
使用插入命令在表中插入一些记录-
insert into DemoTable1543 values(57,60); insert into DemoTable1543 values(60,68); insert into DemoTable1543 values(90,98); insert into DemoTable1543 values(98,90);
使用select语句显示表中的所有记录-
select * from DemoTable1543;
这将产生以下输出-
+--------+--------+ | Value1 | Value2 | +--------+--------+ | 57 | 60 | | 60 | 68 | | 90 | 98 | | 98 | 90 | +--------+--------+ 4 rows in set (0.00 sec)
这是对两列中具有相互关系的行(例如90)进行计数的查询-
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)