+-------+----------+
#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