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 に答える