0

我有 table1 和 table2 ,我试图计算它们之间的唯一匹配总数,以获取每个特定列。

select count (distinct phone1) from table1,table2 where table1.phone1=table2.phone2;

我想我已经很接近了,但我不断收到语法错误。我使用 distinct 仅获取唯一匹配项,因为有多个重复匹配项。

谢谢!

4

2 回答 2

2

您的查询看起来正确,您只需要删除 count 和左括号之间的空格,即不count(x)应该count (x)

于 2013-10-24T19:55:03.020 回答
0

尝试这个:

SELECT COUNT(phone)
FROM (
    SELECT phone1 AS phone
    FROM table1
    UNION
    SELECT phone2
    FROM table2
) a

UNION 将消除重复的结果,然后您只需对结果记录进行计数。

文档

UNION 用于将多个 SELECT 语句的结果组合成一个结果集。

UNION 的默认行为是从结果中删除重复的行。

编辑

我误解了这个问题。我以为你想数所有不同的数字。

为此,您的查询非常好,除了 COUNT 和 (

于 2013-10-24T19:49:49.253 回答