gpt4 book ai didi

sql - (已编辑)给定一个数字限制,编写一个 PostgreSQL 查询,该查询返回求和后值符合该限制的最后一个人的名字

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

尝试编写一个查询(给定一个看起来像这样的表),按每个人出现的顺序汇总每个人的值,并返回值超过给定数量限制的人之前一位的人名。如果给定的数量限制为 500,则应返回 bernard,因为 250 + 300 超过了 500。如果给定的数量限制为 1000,则应返回 bob,因为 250 + 300 + 250 + 250 超过了 1000 的数量限制。

 id | name|  value
------------
1 | bernard | 250
2 | bernice | 300
3 | bob | 250
4 | buddha | 250
5 | cheesy | 200
6 | dog | 200

最佳答案

你想要一个累计和。但是,SQL 表表示无序 集,因此您需要一个指定顺序的列。为了方便输入,我假设它被称为 id

select t.*
from (select t.*, sum(value) over (order by id) as running_sum
from t
) t
where running_sum + value >= 1000 and running_sum < 1000;

关于sql - (已编辑)给定一个数字限制,编写一个 PostgreSQL 查询,该查询返回求和后值符合该限制的最后一个人的名字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50400313/

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