【发布时间】:2017-03-13 21:35:05
【问题描述】:
我正在使用 GROUP BY 和 HAVING 来选择一些符合我们公司计划资格的消费者。我们将此基于消费者从与其关联的任意数量的帐户(一对多)中获得的余额。
下面是代码示例:
select consumerid,
sum(balanceonaccts) bal,
group_concat(accountid) accts
from accounts
join consumer
on consumer.consumerid = accounts.consumerid
group by consumerid
having bal > 300"
这为我提供了关于谁符合消费者级别资格的信息,但是,我能够识别组合以满足余额的帐户的唯一方法是使用 group_concat()。
我想知道是否有一种方法可以识别那些账户组合符合余额标准的消费者,然后以某种方式将输出向下移动到账户级别。
当我尝试:
group by accountid
它不包括那些单独的账户不能满足所需余额但加起来会超过阈值的消费者。
【问题讨论】:
-
你能发布表模式吗?我们需要知道哪个表拥有每个字段。或者至少在每个字段前面加上它的表名。
-
没问题:consumer.consumerid,accounts.balanceonacct,accounts.accountid,accounts.consumerid
标签: mysql sql group-by group-concat