Hirdetés

Új hozzászólás Aktív témák

  • Apollo17hu

    őstag

    Sziasztok!

    Kumulálás témában kérem a segítségetek. Pozitív és negatív egész számaim vannak egy mezőben. Egy másik mezőben azonosító szerepel, a rekordok e mentén vannak rendezve.
    Az a feladat, hogy a számokat kumuláljuk, de a kumulált érték nem lehet magasabb nullánál. Tehát ha az aggregálás "átfordulna" a pozitív tartományba, akkor ott 0-nak kell szerepelnie.

    Így néz ki a modell, amiben a 3. oszlopot kellene létrehoznom:

    ID ERTEK KORR_ERTEK
    A -2 -2
    B -5 -7
    C -1 -8
    D 3 -5
    E 10 0
    F -7 -7
    G -4 -11
    H 20 0
    I -1 -1
    J -3 -4

    Sajnos sqlfiddle hibát dob, ezzel próbálkoztam:

    CREATE TABLE proba (
        id varchar2(10),
        ertek number
    )
    ;
    INSERT INTO proba
        ([id], [ertek])
    VALUES
        ('A',-2),
        ('B',-5),
        ('C',-1),
        ('D',3),
        ('E',10),
        ('F',-7),
        ('G',-4),
        ('H',20),
        ('I',-1),
        ('J',-3)
    ;

    Milyen módon lehetne kiszámolni a KORR_ERTEK mezőt?

    Maga a kumulálás ezzel működik, de a nullával való korrigálásra nem jöttem rá:
    SUM(ertek) OVER(ORDER BY id)

Új hozzászólás Aktív témák