PLSQLde Kumulatif Toplam

PLSQLde Kümülatif toplam.

Plsqlde numerik bir sutunun kumulatif toplamını aldırmak için OVER fonksiyonunu kullanıyoruz.
PARTITION vermediğimiz zaman her bir önceki satırın değerini alıp sonraki satıra toplar, sorgu sonuna kadar bu işlemi yapar..
PARTITION kullandığımızda PARTITION değer sorgu sonucunda değiştiğinde kümülatif toplamda 0 lanır ve yeniden başlar. Kümülatif toplam daha çok muhasebe raporlarında istenebilir.(mesela yevmiye defteri, kebir defteri vb.)

Aşağıdaki örnekte iki tane kümülatif toplam aldıracağız. İlkinde departman bazında kümülatif toplam,
ikincide departmanın değişip değişmediğine bakmaksızın genel bir kümülatif toplam aldıracağız.

HR şemasında çalışıyoruz..

 

SELECT A.FIRST_NAME,
A.LAST_NAME,
B.DEPARTMENT_NAME,
A.SALARY,
SUM(A.SALARY) OVER(PARTITION BY A.DEPARTMENT_ID ORDER BY A.DEPARTMENT_ID, A.FIRST_NAME,A.FIRST_NAME) DEPT_KUMULATIF_TOPLAM,
SUM(A.SALARY) OVER(ORDER BY A.DEPARTMENT_ID, A.FIRST_NAME) GENEL_KUMULATIF_TOPLAM
FROM HR.EMPLOYEES A, HR.DEPARTMENTS B
WHERE A.DEPARTMENT_ID = B.DEPARTMENT_ID
ORDER BY A.DEPARTMENT_ID, A.FIRST_NAME, A.LAST_NAME;

Sonucumuz :

Oracleda kümülatif toplam almak, plsql satır toplami

Oracleda kümülatif toplam almak, plsql satır toplami

Tagged: , , , , ,

Comments: 2

  1. Ahmet Durukan 3 Eylül 2015 at 14:06 Reply

    Merhaba, üzerinde çalıştığım bir konuda çok yardımcı oldu, teşekkürler..

  2. Merve 13 Eylül 2015 at 14:19 Reply

    Merhaba hocam, bakiye toplamında kullandım, çok teşekkürler..
    Yazılarınızın devamını bekliyoruz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir