Announcement

Collapse
No announcement yet.

Count, Sum und DECODE

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

  • Count, Sum und DECODE

    Hallo,

    ich bin ganz neu eingestiegen in Oracle und man muss manchmal schon ziemlich umdenken. Ich sitze nun an einem komplexen Query und komme einfach nicht weiter. Vielleicht hat ja jemand eine Idee...

    Also ich habe 1 Tabelle:

    In dieser Tabelle gibt es eine Spalte die Action heisst. Ich moechte nun die Anzahl von Action zaehlen Sprich

    Beispiel 1 | 5
    Beispiel 2 | 38
    Beispiel 3 | 22


    Das ist eigentlich kein Problem nur moechte ich nicht nur zaehlen sondern verschiedene Eintraege gehoeren zusammen, sprich Beispiel 1 und Beispiel 3, ich brauche also die Summe verschiedener Eintraege und ich moechte das Ganze auch noch umbenennen z.B soll am Ende statt Beispiel 1 bzw Beispiel 3
    dort "Home" | 27 stehen ( Beispiel 1+ Beispiel 3 und dann umbennen).

    Ich weiss das man fuer das umbenennen decode verwenden kann, also
    Code:
    SELECT
      DECODE(Aktion ,
      'Beispiel1,'Home',
      'Beispiel2,'About us',
      'Beispiel3,'Home',
      'Beispiel4,'About us',
      'Beispiel5,'Links',
      'Beispiel6,'Home'),
    
    Aktion AS "Seite",
    COUNT(Aktion )AS "Clicks"
    
    FROM tblAktionen
    So und hier haenge ich nun und komme einfach nicht weiter. Ich moechte nun also das alle die unbenannt wurden und nun zusammengehoeren gezaehlt werden. Geht so etwas und wenn ja, wie stellt man das an???

    Ich bin wirlich am verzweifeln und freue mich ueber jeden Tip. Vielen Dank im Voraus.

    Gruss Luka

  • #2
    Hallo Luka,

    deine Beschreibung ist ziemlich "wirr". Bitte versuch dein Problem so zu formulieren, daß es auch jemand versteht der nicht schon zwei Tage über diesem Problem brütet

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Hallo Falk Prüfer,

      Mmh, eigentlich dachte ich, dass Problem sei gut beschrieben, aber wenn man da so drinsteckt sieht es immer anders aus... Versuche ich es aber halt noch mal.

      tblAktion
      ----------------------
      Beispiel1
      Beispiel1
      Beispiel1
      Beispiel1
      Beispiel2
      Beispiel1
      Beispiel2
      Beispiel3
      Beispiel3
      ...
      Beispiel6
      Beispiel6
      Beispiel6

      So sieht also meine Tabelle aus. Nun koennte ich mir ja mit Count ausgeben lassen wie oft was vorkommt.

      Also
      Beispiel1 Anzahl 5
      Beispiel2 Anzahl 2
      Beispiel3 Anzahl 2
      Beispiel6 Anzahl 3

      Alles kein Problem. Nur kommen jetzt noch 2 weitere Schritte. Erstens moechte ich Eintraege umbenennen mit decode in meinem Beispiel soll 'Beispiel 1', 'Beispiel 3' und 'Beispiel6' in 'Home' umbenannt werden und dann moechte ich statt der Ausgabe oben gerne die Anzahl von 'Home' usw bekommen. Home beeinhalten in meinem Fall also die Summe von Bsp1, 2 und 3 Ergebnis ist 10.

      Wie baue ich das in einen Query? Booh, ist das schwierig. Geht das ueberhaupt?

      Gruss

      Comment


      • #4
        Entschuldige bitte, aber du fragst hier nach Grundlagen von SQL. Bitte ließ SQL Grundlagenbuch und Frag dann noch ein mal.

        http://www.datenbank-sql.de/
        http://www.torsten-horn.de/techdocs/sql.htm

        Group by (das was du suchst) hier
        http://www.psoug.org/reference/group_by.html

        Comment


        • #5
          Hallo,

          Eigentlich sind mir die Grundlagen schon bekannt. Ich kenne auch GROUP BY, obwohl ich zugeben muss, dass ich decode vorher nicht kannte und da es nun ein decode zusammen mit einem sum der neuen decode Namen ist, sprengt es halt mein Wissen.

          Deswegen frage ich halt, wie man das umsetzt...

          Comment


          • #6
            aber du hast die Lösung doch selber beschrieben:

            select decode(tblAktion,'Beispiel 1','Home', 'Beispiel 3','Home','Beispiel6','Home', tblAktion), count(*) from TabellenName group by decode(tblAktion,'Beispiel 1','Home', 'Beispiel 3','Home','Beispiel6','Home', tblAktion)

            Comment

            Working...
            X