+-------+----------+

#note: this is an arbitrary random data

我如何继续从表中选择行,直到stock列的sum()达到某个值或更高一些,并且表为ORDER BY id ASC.

例如,我要从表中选择行,直到总存量为’50’,因此结果将是

#result 3 rows

+-------+----------+

| id | stock |

+-------+----------+

| 1 | 20 |

+-------+----------+

| 2 | 25 |

+-------+----------+

| 3 | 10 |

+-------+----------+

现在的库存总和为’55’,这是比’50’最接近的可能更高的值,如果我们采用下一行id:4,则库存总和将大于50,并且如果删除行id:3价值将是45,小于我要的股票50.

我可以通过选择所有行并循环抛出它们来使用PHP来实现,但是我想那会很浪费.有没有可能在较低级别上做到这一点,并让mysql通过sql查询为我做到这一点?

谢谢你,如果我搞砸了,请原谅我,我是编程新手

有这张桌子#table stock+-------+----------+| id | stock |+-------+----------+| 1 | 20 |+-------+----------+| 2 | 25 |+-------+----------+| 3 | 10 |+-------+----------+| ... 现在想统计某一天,或者某一时间段内,每天的借贷累总额,以及历史累计总额,比如,2021-10-07日的借贷总额是1100,1000,历史累计 是6500,5500。那在 MySQL 中如何统计呢?方法有多种。下面演示某段时间内,每天的借贷总额以及历史累计总额的求法。如果求某一天的情况,则where条件就更简单了。 1. 先利用函数sum()求出每天的借贷总额,再利用窗口函数over()求历史累计 (窗口函数对. +----+-----------+-------------------+ | id | cost_rate | conversions_value | +----+-----------+-------------------+ | 1 | 3.58 | 84.83 | | 2 | 0.55 | 69.86 | | 3 | 18.29 |
mysql 查询需要多次使用聚合函数 (selectcount(*)fromtableA)-(selectmaxfromtableBwheretableB.username=tableA.uername) 难道不能利用之前的临时 吗,一定要重新算一遍吗 本回答由网友推荐 MySQL 中,使用聚合函数+for up...
更新一个字段,在它的后面加一个 或字符串,不查询数据库得到这个字段 怎么添加?? user 表,有两个字段 name [string] ,age [int] 1.需要给每个或者某个名字前加个统一的标识,如:tom 改为user_tom UPDATE user SET name= CONCAT('user_',name); 2.需要给每个或者某个age统一增加10岁,如:17改为27 UPDATE user SET user= user+10; 注意!!!数字则可以直接用’+'号相连 字符串必须用con