首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在总和达到某个阈值时返回记录

如何在总和达到某个阈值时返回记录
EN

Stack Overflow用户
提问于 2019-04-18 00:18:05
回答 2查看 0关注 0票数 0

我正在使用SQL,我有一个包含三个列的表:account,transaction_date,Points。每个帐户都有多个transaction_dates和每笔交易获得的积分。

当每个帐户达到某个阈值(即累积100点)时,如何返回transaction_date。假设第一个帐户有2000个交易,前五个帐户有21个交易点。我希望查询返回事务#5,因为这是帐户达到100时。

EN

回答 2

Stack Overflow用户

发布于 2019-04-18 08:39:28

这应该可以让你得到你想要的东西。

SELECT account_id, MIN(transaction_date) FROM table t1 WHERE (SELECT SUM(points) FROM table t2 WHERE t2.transaction_date < t1.transaction_date) <= 100 GROUP BY account_id

票数 0
EN

Stack Overflow用户

发布于 2019-04-18 09:41:22

代码语言:javascript
复制
select min(a.transaction_date), a.account from

(select sum(t1.points) as thesum, t2.transaction_date, t2.account 
from table t1
inner join table t2 on t1.account = t2.account and t1.transaction_date <= t2.transaction_date
group by t2.transaction_date, t2.account
having thesum >= 100) a 

group by a.account
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100001126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档