假设我有以下数据。我正在尝试通过 acct_id 计算每个 Buyer_id 的计数,其中 Buyer_id 包含 5。因此,对于 acct 51(它有 5 个实例并且包含一个包含 5 的实例),我要找到每个 Buyer_id 的计数(当然不包括 5)。此计数应遍历所有包含 buy_id 为 5 的 acct_id,并提供所有其他 buyer_id 的计数。
acct_id buyer_id message
51 5 success
51 13 fail
51 4 success
51 6 success
51 9 fail
53 6 fail
53 12 fail
53 4 success
57 6 fail
57 12 fail
57 4 success
57 5 success
Run Code Online (Sandbox Code Playgroud)
所以在这个例子中我最终会得到如下所示的结果
buyer_id count(*)
4 2
5 2
6 2
9 1
12 1
13 1
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助!
这应该可以解决问题:
select buyer_id, count(distinct acct_id)
from Table1 a
where exists (
select * from Table1
where acct_id = a.acct_id
and buyer_id =5)
group by buyer_id
Run Code Online (Sandbox Code Playgroud)
请参阅此处的 sqlfiddle:http://sqlfiddle.com/#!2/0d3d2 /3
| 归档时间: |
|
| 查看次数: |
12167 次 |
| 最近记录: |