Announcement

Collapse
No announcement yet.

Abschnittsweise berechnen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Abschnittsweise berechnen

    Hallo,

    Ich habe folgendes Problem.
    Ich habe eine Tabelle mit folgenden Spalten:
    Objekt1, Objekt2, Wert(Float)
    Nun möchte ich bereichsweise ne Funktion anwenden. Also für die ersten 10 Zeilen möchte ich:
    neu=(Wert-Wert(zeile1))/(Wert(Zeile10)-wert(zeile1)) berechnen

    und das dann auch für nachfolgende Bereiche... also von 11-20
    neu=(Wert-Wert(zeile11))/(Wert(Zeile20)-wert(zeile11))

    usw....


    am ende will ich dann select Objekt1, objekt2, wert, neu ausgeben...

    Ich hoffe ihr versteht mein problem und könnt mir helfen...

    Gruß
    Saphira

  • #2
    Welches DBMS? Man könnte es mit einem Union von limitierten Selektionen erreichen

    Comment


    • #3
      Ich benutze Apache Derby.

      Wie würde das mit dem Union mit limitierten Selektionen gehen???

      Comment


      • #4
        Derby scheint keine Limitierung zu unterstützen
        Sonst würde es etwa so aussehen

        [highlight="sql"]
        select Wert from Tabelle limit 10
        union
        select sum( wert) as wert from (select Wert from Tabelle limit 10)
        union
        select Wert from Tabelle limit 10,10
        [/highlight]

        Aber vielleicht ist dieses Problem aber besser im Clientprogramm oder einer SP zu lösen

        Comment


        • #5
          Problem mit ROW_NUMBER() OVER()

          Hallo,

          Ja Derby unterstützt tatsächlich kein LIMIT.
          Dafür gibt es aber ne Alternative

          SELECT * FROM (
          SELECT
          ROW_NUMBER() OVER () AS R,
          T.*
          FROM T
          ) AS TR
          WHERE R <= 10;

          Nur leider gibt er immer eine Meldung aus:
          Syntax error: Encountered "(" at line 3, column 24.
          [SQL State: 42X01]

          Ich weiß nicht woran es liegt. Der Code ist Identisch mit dem aus dem "Handbuch".
          Hat jemand ne Ahnung, was das Problem sein könnte???

          Gruß, Saphira

          Comment


          • #6
            Problem erledigt

            Hallo,

            Problem hat sich erledigt. Mußte nur die Aktuelle version von Apache Derby installieren und nun funktioniert es...

            gruß saphira

            Comment

            Working...
            X