【发布时间】:2020-10-05 21:28:34
【问题描述】:
我一直在尝试使用 PostgreSQL 解决以下问题,但到目前为止没有运气。
我有一张表transfers 按帐号列出汇款:
id | sender | receiver | sum
-----------------------------
1 | 1234 | 2345 | 5.0
2 | 1234 | 9873 | 5.0
3 | 2345 | 7890 | 12.0
4 | 9873 | 7890 | 1.0
还有一个名为 accounts 的帐户,其中包含所有者信息:
account | owner_name
---------------------
1234 | Fred
2345 | Wilma
9873 | Barney
7890 | Betty
使用 PostgreSQL,因此,我需要一个用户名表,其总汇款量(任何方向)等于或高于给定阈值(例如 10.0),按owner_name 排序。
即弗雷德,帐号的所有者。 1234发送了5.0,收到了5.0,所以总共是10.0。 Wilma(账户 2345)收到 5.0 并发送 12.0。 Barney 收到 5.0 并发送 1.0,所以他的总数是 6.0。最后,Betty 没有发送任何内容,但收到了 13.0。三个用户:Fred、Wilma 和 Betty 的总人数 >= 10.0,所以他们的姓名应该按字母顺序返回,我们应该收到如下信息:
result
-------
Betty
Fred
Wilma
可以在一个查询中完成吗?
【问题讨论】:
标签: sql postgresql aggregate-functions