SQL返回结果,其中不同相关实体的数量大于1

时间:2015-06-30 09:20:41

标签: mysql sql

我有一个如下所示的数据集:

Account      Property
446006253   303004622
446006253   303004622
446006253   303004622
446006253   303004622
446006253   303004622
446007309   969002609
446007309   969002612

我只需要返回附加了多个唯一属性编号的帐号。在上面的数据示例中,它将返回数字446007309而不是另一个。

然而,我所管理的最好的是:

SELECT account 
FROM table
WHERE GROUP BY account HAVING COUNT(account) > 1

我设法使用这个网站进入这个阶段,但我没有找到任何类似问题的例子。

感谢。

5 个答案:

答案 0 :(得分:0)

尝试此查询

SELECT account 
FROM table
WHERE GROUP BY account ,Property HAVING COUNT(Property ) > 1

答案 1 :(得分:0)

尝试以下查询

  select account from (
    SELECT account, COUNT(account) over (partition by Property) rowid 
    FROM table ) AA where AA.rowid >1 

答案 2 :(得分:0)

您自己的代码非常接近,但您需要从代码中删除WHERE以使其正确运行,因为它没有相应的条件。我把你的例子放到了this sqlfiddle中,如果你这样做的话就可以了。

SELECT account 
FROM mytable
GROUP BY account HAVING COUNT(account) > 1

答案 3 :(得分:0)

   SELECT 
         distinct [account number] FROM
        table GROUP BY
         [account number],property HAVING 
         COUNT(*) = 1

答案 4 :(得分:0)

尝试以下,

select account, count(property) 'Total Pro from 
(
    SELECT distinct account , property FROM table
)T
GROUP BY account HAVING count(property) > 1