gpt4 book ai didi

mysql - 选择 SUM 大于 X 的行

转载 作者:行者123 更新时间:2023-11-29 01:03:42 24 4
gpt4 key购买 nike

我有这张 table

----------------
ID | Duration
----------------
1 10
2 10
3 10

我想选择 sum(duration) 大于 15 的 id。换句话说......

-------------------------
ID | Duration | Sum
-------------------------
1 10 10
2 10 20
3 10 30

Sum 在 ID 为 2 的行变得更细。我必须准确地选择这一行。

当然,我不能从存储过程中使用 SUM(),所以我肯定必须使用 JOIN,可能还有 HAVING 而不是 WHERE。问题是我总是得到错误的结果。

最佳答案

为此,您需要一个累积和,MySQL 不直接提供。您可以使用子查询来做到这一点。然后选择右行。

select id, duration, cumdur
from (select id, duration,
(select sum(duration)
from t t2
where t2.duration < t.duration or
(t2.duration = t.duration and t2.id <= t.id)
) as cumdur
from t
) t
where 15 between (cumdur - duration + 1) and cumdur

请注意,当多行具有相同的持续时间时,这按 id 排序。

关于mysql - 选择 SUM 大于 X 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16668299/

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