title: calculate running balance in oracle query
body: <p>I have data like this</p>
  
  <pre><code>id    cp_id   amount_a       amount_b
  CCP1  TTP01   10.000.000     2.000.000
  CCP1  TTP02   10.000.000     3.000.000
  CCP1  TTP03   10.000.000     1.000.000
  CCP1  TTP04   10.000.000       500.000
  CCP2  TTP05    5.000.000     1.000.000
  CCP2  TTP06    5.000.000     2.000.000
  CCP3  TTP07    1.000.000       500.000 
  </code></pre>
  
  <p>I want the the result data add one column of running_balance like this below</p>
  
  <pre><code>id       amount_a       amount_b      running_balance
  CCP1   10.000.000     2.000.000     8.000.000
  CCP1   10.000.000     3.000.000     5.000.000
  CCP1   10.000.000     1.000.000     4.000.000
  CCP1   10.000.000       500.000     3.500.000
  CCP2    5.000.000     1.000.000     4.000.000
  CCP2    5.000.000     2.000.000     2.000.000
  CCP3    1.000.000       500.000       500.000 
  </code></pre>
  
  <p>I made already the query like this</p>
  
  <pre><code>/* Formatted on 1/26/2017 2:50:06 PM (QP5 v5.115.810.9015) */
    SELECT   B.NO_KLAIM AS id,
             a.amount AS amount_a,
             B.AMOUNT AS amount_b,
             SUM (A.AMOUNT) OVER (ORDER BY B.AMOUNT ROWS UNBOUNDED PRECEDING)
                AS running_balance
      FROM      TRX_TITIPAN A
             JOIN
                TRX_KLAIM_TITIPAN B
             ON A.NO_RESI_TITIPAN = B.NO_RESI_TITIPAN
  GROUP BY   B.NO_KLAIM, B.AMOUNT, a.amount
  </code></pre>
  
  <p>but the result not calculated amount_a, just running total for amount_b.</p>
  
  <p>**Updated:
  I make already update on my query. </p>
  
  <pre><code> /* Formatted on 1/26/2017 2:50:06 PM (QP5 v5.115.810.9015) */
        SELECT   B.NO_KLAIM AS id,
                 a.amount AS amount_a,
                 B.AMOUNT AS amount_b,
                 NVL (TITIP.AMOUNT, 0)
                 - SUM (NVL (KLAIM.AMOUNT, 0))
                      OVER (PARTITION BY TITIP.AMOUNT
                            ORDER BY TITIP.NO_RESI_TITIPAN,
                                     KLAIM.NO_KLAIM,
                                     TITIP.AMOUNT,
                                     KLAIM.AMOUNT asc
                            ROWS UNBOUNDED PRECEDING) as running_balance
          FROM      TRX_TITIPAN A
                 JOIN
                    TRX_KLAIM_TITIPAN B
                 ON A.NO_RESI_TITIPAN = B.NO_RESI_TITIPAN
      GROUP BY   B.NO_KLAIM, B.AMOUNT, a.amount
  </code></pre>
  
  <p>the running balance is working right when using <strong>WHERE id= ....</strong> condition, with specific id. While i delete <strong>WHERE id= ....</strong> condition it's going wrong.</p>