【问题标题】:How to make subtract(difference) using previous columns?如何使用以前的列进行减法(差异)?
【发布时间】:2021-07-22 20:07:59
【问题描述】:

我有一张这样的桌子

Month Total Installment 1 Installment 2 Installment 3
Jan 19 500 100 200 100
Feb 19 500 100 100 100

是否可以从前面的列中减去值?

Jan19 的总数是 500。第 1 期是 100。余额是 400。然后这 400 应该减去第 2 期等等。

我已经创建了一个示例输出。

Month Total Balance 1 Balance 2 Balance 3
Jan 19 500 400 200 100
Feb 19 500 400 300 200

谢谢

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    只需使用-:

    select month, total,
           (total - installment1) as balance1,
           (total - (installment1 + installment2)) as balance2,
           (total - (installment1 + installment2 + installment3)) as balance3
    from t;
    

    也就是说,在 SQL 表中跨存储数据并不是关系数据库的推荐数据模型。每一期都应该是单独的一行。

    【讨论】:

    • 谢谢,但是如果我们有 30 期呢?
    • @user12490809 。 . .那么你将有 30 个表达式。不过,请仔细阅读答案的最后一段。问题在于您的数据模型。
    • 我可以明智地获得这一行。那么 SQL 查询会是什么
    • @user12490809 。 . .问另一个问题。这个问题已经回答了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-15
    • 2019-07-20
    • 2021-05-23
    相关资源
    最近更新 更多