MYSQL更新,字段值等于上一条字段值加上现有字段值如何实现?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

MYSQL更新,字段值等于上一条字段值加上现有字段值如何实现?

落地花开啦 2016-01-31 14:52:17 2656

one等于上一个one加上现在的money,这个mysql语句怎么写?
9

关系型数据库 MySQL
分享到
取消 提交回答
全部回答(1)
  • 德哥
    2019-07-17 18:36:43
    已采纳

    演示一下PostgreSQL的用法:
    需要用到递归查询。
    mysql好像不支持。

    postgres=# create table m(id serial primary key,money int, one int);
    CREATE TABLE
    postgres=# insert into m(money,one) values (0,2000),(85,0),(100,0),(19,0),(21,0);
    INSERT 0 5
    postgres=# select * from m;
     id | money | one  
    ----+-------+------
      1 |     0 | 2000
      2 |    85 |    0
      3 |   100 |    0
      4 |    19 |    0
      5 |    21 |    0
    (5 rows)
    
    postgres=# with recursive t(id,money,one) as (select 1 id,0 money,2000 one union all select t1.id,t1.money,t.one-t1.money one from t,m t1 where t.id=t1.id-1) select * from t;
     id | money | one  
    ----+-------+------
      1 |     0 | 2000
      2 |    85 | 1915
      3 |   100 | 1815
      4 |    19 | 1796
      5 |    21 | 1775
    (5 rows)
    0 0
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题
推荐课程