0

我正在使用 mysql,这是我当前表中的条目。

所以这里本月的上一个余额应该是上个月的余额。如何从数据库的前一行获取此值。

Previous_balance Remaining_Balance
        0.00        42.64
        0.00        627.69
        0.00        45.54
        0.00        67.60

结果应该是

Previous_balance Remaining_Balance
        0.00        42.64
        42.64       627.69
        627.69      45.54
        45.54       67.60

我的 ID 为 PK,我想将新的 previous_balance 存储在数据库中并在表格上打印。所以我可以计算每月费用和使用量以及其他东西。感谢您的回答。

4

2 回答 2

0

就像是

SELECT LAST(remaingBalance) as previousBalance, FIRST(remaingBalance) as remaingBalance FROM ...
WHERE ...
GROUP BY month

http://www.w3schools.com/sql/sql_functions.asp

于 2012-08-17T16:16:47.357 回答
0

假设该id字段是有序的,试试这个:

UPDATE Balances 
  SET b1.Previous_balance = COALESCE((SELECT b2.Remaining_Balance 
                                      FROM Balances b2 
                                      WHERE b2.id < b1.id 
                                      ORDER BY b2.id DESC 
                                      LIMIT 1),0) 
FROM Balances b1

我没有安装 mySQL,所以我不能保证所有的语法。我知道 SELECT 语句虽然有效。

于 2012-08-17T17:20:18.677 回答