php - 如何更改查询中的 Mysql 变量?

标签 php mysql

我的表有两列,即 cumulative_sum 和 absolute。 但我只有累积值(value)。我想计算绝对值。

累计值
12
19
32
41

预期绝对值
12
7
13
9

我试过这样的查询。我只需要在每次查询更新时将@absvalue 更新为 cum。

set @absvalue := 0;
update pdb_tint_result set abs = (cum - @absvalue)
where user_id='P6'
order by date;

你能指导我吗?

我看到计算累计和 here 我尝试让它用于计算 Abs 值。

最佳答案

试试这个 -

SET @prev_cum:=0;
UPDATE test_point_sum 
   SET absolute_value = (cumulative_sum - @prev_cum),
       cumulative_sum = @prev_cum:=cumulative_sum 
   ORDER BY 
      ID ASC;

选择您的表名和列名。测试和验证。看看这是否有帮助

关于php - 如何更改查询中的 Mysql 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31152161/

相关文章:

php - 维护 PHP 应用程序的历史表

mysql - 获取类别列的数量和价格,然后按类别分组

mysql - 在 MySQL 中存储列表的最有效方法

java - 如何使用 Jpa 存储库实现轻型实体版本?

javascript - 为什么用户数据没有使用fb登录存储到mysql中?

php - Jquery 模态表单在 PHP 中不适用于我

php动态访问表单变量

php - 如何创建 PHP 搜索产品名称或产品设计师?

php - 如何将 DAO 查询转换为 Yii2 ActiveRecord。如何从联接表中选择和使用特定列

mysql - 当 WHERE 中使用其他表中的列时优化 JOIN