我有 table1 和 table2 ,我试图计算它们之间的唯一匹配总数,以获取每个特定列。
select count (distinct phone1) from table1,table2 where table1.phone1=table2.phone2;
我想我已经很接近了,但我不断收到语法错误。我使用 distinct 仅获取唯一匹配项,因为有多个重复匹配项。
谢谢!
您的查询看起来正确,您只需要删除 count 和左括号之间的空格,即不count(x)
应该count (x)
尝试这个:
SELECT COUNT(phone)
FROM (
SELECT phone1 AS phone
FROM table1
UNION
SELECT phone2
FROM table2
) a
UNION 将消除重复的结果,然后您只需对结果记录进行计数。
从文档:
UNION 用于将多个 SELECT 语句的结果组合成一个结果集。
UNION 的默认行为是从结果中删除重复的行。
我误解了这个问题。我以为你想数所有不同的数字。
为此,您的查询非常好,除了 COUNT 和 (