gpt4 book ai didi

sql - 选择分组依据 > 1 的所有结果

转载 作者:行者123 更新时间:2023-11-29 11:34:34 25 4
gpt4 key购买 nike

我有一张表格,里面装满了带有地址的帐户。我想选择与另一个帐户位于同一地址的每个帐户。

如果我的数据是这样的:

------------------------------------
| Account Number | Address |
| 12345 | 55 Bee St |
| 23456 | 94 Water way |
| 34567 | 15 Beagle Drive |
| 45678 | 55 Bee St |
| 56789 | 94 Water way |
| 67890 | 12 Green St |
-------------------------------------

我想做一些事情:

SELECT * FROM accounts WHERE group by address > 1;

这样我的结果就是:

------------------------------------
| Account Number | Address |
| 12345 | 55 Bee St |
| 23456 | 94 Water way |
| 45678 | 55 Bee St |
| 56789 | 94 Water way |
-------------------------------------

如果有什么不同,那就是 PostgreSQL 数据库。

最佳答案

对同一张表做一个left join,找出地址相同的记录,对字段进行分组,然后统计匹配的地址,得到至少有一个地址匹配的记录:

select a.AccountNumber, a.Address
from accounts a
left join accounts o on o.Address = a.Address and o.AccountNumber <> a.AccountNumber
group by a.AccountNumber, a.Address
having count(o.AccountNumber) >= 1

此方法为您提供每个帐号的地址,如果地址出现两次以上,它不会为您提供重复项。

关于sql - 选择分组依据 > 1 的所有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15672875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com