我有一个包含 2 个表的数据库。 表1和表2。
Table1 包含测试列表(列 'name' )。我想根据 table1 的测试列表计算 table2 中缺少多少行(该表还有一列 'name' )强>。 所以我只想统计table1.name和table2.name之间的不匹配情况。
我尝试了几个查询,但都没有真正起作用。 我尝试使用“NOT IN”语句,但它花费了太多时间。大约几分钟。
例如,输出应为:
COUNT(*) = 20
这意味着表2中缺少(或尚未完成)20 个测试。
我使用的是 MySQL,因此无法使用 EXCEPT 或 MINUS 语句。
提前谢谢您。
北欧
最佳答案
您可以使用不存在
:
select count(*)
from table1 t1
where not exists (select 1 from table2 t2 where t2.name = t1.name);
如果 table1
中有重复的 name
,那么您需要 count(distinct t1.name)
。
关于mysql - 计算 2 个不同表中 2 行之间的不匹配数 - MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51743431/