如果两个表共享一个公共id,我将它们连接起来。
select *
from my_table m
join other_table o
on m.mid = o.oid
这给了我一个新的表,我称之为新表。我选择一个列(新列)来获取有关它的更多信息
select count(new_col)
from new_table
给我312。当我发现不同的值
select count( distinct new_col)
from new_table
我得到284分。如果不同计数和常规计数结果不同,则表示 other_table
它的id有重复的值。在连接过程中,重复的值与 mid
多次。我想知道他们有多少身份证 mid
只Map到中的一个id oid
以及有多少个一对多匹配,然后计算1-1Map和多-1Map的平均值。
1条答案
按热度按时间kpbpu0081#
我不得不在这里做一些假设,因为您(在标记中)没有提到您正在使用哪个数据库(mysql?postgresql?,??)并且您没有显式地声明两个表中是否可以有重复的id(我推断只有另一个表有重复的id)。
所以我举了一个这样的例子:
并用下面的sql进行了测试:
结果是:
我相信这和你想要的很接近?