Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Wert Summieren

Dieses Thema im Forum "Oracle" wurde erstellt von Mirko Böstro, 2 Februar 2015.

  1. Mirko Böstro

    Mirko Böstro Benutzer

    Guten Abend,

    ich hoffe, Ihr könnt mir helfen.
    Ich habe folgende Abfrage:

    SELECT TEXT, SUM(ANZAHL) AS ANZAHL
    FROM PP_DT_TOPTEN
    WHERE TEXT = 'FG14-(Dos): Untergrenze Drucksonde Komponente A unterschritten'
    AND AKZ_DT LIKE 'ONL-M-0720-SBK-Z1'
    AND Werkdatum >= '26.01.2015'
    AND Werkdatum <= '01.02.2015'
    AND INTERVALL = '1'
    AND TYP = 'A'
    AND SCHICHTNR = '1'
    GROUP BY TEXT, ANZAHL
    ORDER BY ANZAHL DESC

    Leider liefert mir die Abfrage nicht eine Zeile, sondern drei!!!

    Ergebnis.JPG
    Warum?

    Habe es z.B. mit der Spalte "PROZESSNR" getestet, da funktioniert es.

    SELECT TEXT, SUM(PROZESSNR) AS ANZAHL
    FROM PP_DT_TOPTEN
    WHERE TEXT = 'FG14-(Dos): Untergrenze Drucksonde Komponente A unterschritten'
    AND AKZ_DT LIKE 'ONL-M-0720-SBK-Z1'
    AND Werkdatum >= '26.01.2015'
    AND Werkdatum <= '01.02.2015'
    AND INTERVALL = '1'
    AND TYP = 'A'
    AND SCHICHTNR = '1'
    GROUP BY TEXT, PROZESSNR
    ORDER BY PROZESSNR DESC

    Ergebnis_ProzessNR.JPG

    Ich bin leider völlig ratlos.
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Die Abfrage ist so auch Bullshit.

    Um das mal zu zeugen:

    Code:
    test=*# select * from mirko ;
     id | anzahl
    ----+--------
      1 |  10
      1 |  12
      2 |  33
    (3 rows)
    
    Time: 0,186 ms
    test=*# select id, sum(anzahl) as anzahl from mirko group by id, anzahl;
     id | anzahl
    ----+--------
      2 |  33
      1 |  12
      1 |  10
    (3 rows)
    
    Von der Reihenfolge mal angesehen (durch die Aggregation, die aber keine ist) ist das gleich. Warum? Weil Du nach beiden Spalten des Resultates aggregierst.

    Du suchst wohl eher:

    Code:
    test=*# select id, sum(anzahl) from mirko group by id;
     id | sum
    ----+-----
      1 |  22
      2 |  33
    (2 rows)
    
    Andreas
     
    ukulele gefällt das.
  3. Mirko Böstro

    Mirko Böstro Benutzer

    Die Lösung kann soooooo einfach sein!!!!!

    Ich Danke Dir!!!!!
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden