MySQL-Berechung - Wie?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MySQL-Berechung - Wie?

    Hallo,

    habe da mal ein SQL-Frage. Und zwar hab ich folgende (vereinfachte) Tabelle:
    Code:
    +----------+------+-----------+----------------------+
    | nr_int   | wj   | monat     | Umsatz_Kumuliert      |
    +----------+------+-----------+----------------------+
    |     5510 | 2004 | April     |               249.208 |
    |     5510 | 2004 | Mai       |               286.872 |
    |     5510 | 2004 | Juni      |              2145.214 |
    |     5510 | 2004 | Juli      |              2201.349 |
    |     5510 | 2004 | August    |               2233.28 |
    |     5510 | 2004 | September |              2274.183 |
    |     5510 | 2004 | Oktober   |              2313.204 |
    |     5510 | 2004 | November  |              2360.028 |
    |     5510 | 2004 | Dezember  |              2400.474 |
    |     5510 | 2004 | Januar    |              2447.432 |
    |     5510 | 2004 | Februar   |              2507.666 |
    |     5510 | 2004 | M?rz      |              2571.123 |
    |     5510 | 2005 | April     |                 243.5 |
    |     5510 | 2005 | Mai       |               299.808 |
    |     5510 | 2005 | Juni      |              2147.994 |
    |     5510 | 2005 | Juli      |              2195.744 |
    |     5510 | 2005 | August    |              2260.452 |
    |     5510 | 2005 | September |               2311.83 |
    |     5510 | 2005 | Oktober   |              2368.701 |
    |     5510 | 2005 | November  |              2416.667 |
    |     5510 | 2005 | Dezember  |              2470.125 |
    |     5510 | 2005 | Januar    |              2515.326 |
    |     5510 | 2005 | Februar   |              2573.555 |
    |     5510 | 2005 | M?rz      |              2641.484 |
    +----------+------+-----------+----------------------+
    Ich bäruchte noch eine Spalte Umsatz/Monat indem der Wert des aktuellen Monates (im Jahr, bei aktueller Nr) abzüglich des Vormonats berechnet wird.

    Wie ist sowas mit SQL möglich?

    Hoffe ich hab mich soweit deutlich ausgedückt.

    Danke und Gruß

    Patrick

  • #2
    da du die spalte ja neu hinzufügen möchtest, handelt es sich wohl um eine einmalige berechnung. da kannst du das ganze eigentlich frei nach schnautze auf die schnelle programmieren.

    also, wert des vormonats rausholen, und dann nen UPDATE fahren: SET umsatz = (deine Rechnung) WHERE ...

    Je nach SQL-Version kannst du auch nen Sub-Query verwenden. Oder bau dir nen Join auf.

    Versuch einfach mal, wie weit du kommst. Bei einem konkreten Problem kannst du dich ja wieder melden.

    Kommentar


    • #3
      Original geschrieben von TobiaZ
      da du die spalte ja neu hinzufügen möchtest, handelt es sich wohl um eine einmalige berechnung. da kannst du das ganze eigentlich frei nach schnautze auf die schnelle programmieren.

      Richtig, das ist eine einmalige Berechnung.
      also, wert des vormonats rausholen, und dann nen UPDATE fahren: SET umsatz = (deine Rechnung) WHERE ...

      Je nach SQL-Version kannst du auch nen Sub-Query verwenden. Oder bau dir nen Join auf.

      Versuch einfach mal, wie weit du kommst. Bei einem konkreten Problem kannst du dich ja wieder melden.
      Ich hab natürlich schon einiges Versucht. Allerdings fehlt mir bei dem Problem der richtige Ansatz. Leider sind meine SQL-Kentnisse nicht so weit forgeschritten.

      Code:
      nr	Jahr	Monat-Sorter	Monat	Umsatz1	Umsatz1_Monat
      5510	2000	1	April	93.981,57 €	93.981,57 €
      5510	2000	2	Mai	76.355,94 €	-17.625,63 €
      5510	2000	3	Juni	109.931,88 €	33.575,94 €
      5510	2000	4	Juli	155.593,40 €	45.661,52 €
      5510	2000	5	August	188.083,22 €	32.489,82 €
      5510	2000	6	September	222.597,80 €	34.514,58 €
      5510	2000	7	Oktober	271.371,90 €	48.774,10 €
      5510	2000	8	November	321.102,58 €	49.730,67 €
      5510	2000	9	Dezember	351.289,98 €	30.187,40 €
      5510	2000	10	Januar	392.526,69 €	41.236,71 €
      5510	2000	11	Februar	939.162,96 €	546.636,27 €
      5510	2000	12	März	991.303,59 €	52.140,63 €
      5510	2001	1	April	99.903,15 €	99.903,15 €
      5510	2001	2	Mai	80.272,03 €	-19.631,12 €
      5510	2001	3	Juni	127.561,79 €	47.289,76 €
      5510	2001	4	Juli	172.218,96 €	44.657,17 €
      5510	2001	5	August	209.699,51 €	37.480,55 €
      5510	2001	6	September	259.170,11 €	49.470,60 €
      5510	2001	7	Oktober	288.163,69 €	28.993,58 €
      5510	2001	8	November	321.961,70 €	33.798,01 €
      5510	2001	9	Dezember	355.298,91 €	33.337,21 €
      5510	2001	10	Januar	905.381,58 €	550.082,67 €
      5510	2001	11	Februar	927.173,98 €	21.792,40 €
      5510	2001	12	März	983.511,70 €	56.337,72 €
      So schauts in Excel aus:
      =WENN($C2=1;E2;WENN(C2="";;E2-E1))

      Mir fehlt in SQL leider der Ansatz. Mir würde es auch helfen wenn ich mal ein ähnliches Beispiel sehen könnte.

      Vielen Dank schonmal.

      Gruß

      Patrick

      Kommentar


      • #4
        Naja, ich fand meinen Ansatz eigentlich ganz okay, für mal eben so...

        aber wenn du mit der excell Formel besser zurecht kommst, ersetze WENN mit IF und die C1, etc mit den SQL-Spaltennamen.

        Evtl kannst du es auch einfach schnell mit Ecell berechnen (tust du ja sowieso schon) und dann als csv exportieren. und in mysql importieren.

        Kommentar

        Lädt...
        X