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

Group By nicht alle Spalten

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von Arek31, 29 Juli 2014.

  1. Arek31

    Arek31 Neuer Benutzer

    Hallo,

    ich habe folgende Abfrage:


    select A.Artbezeichnung, A.ArtGruppe, AVG(A.ArtVKPreis) Verkaufspreis

    from tblArtikel A

    Group By A.ArtGruppe, A.ArtBezeichnung

    order by Verkaufspreis

    Ich möchte gerne nur nach A.ArtGruppe gruppieren. In glaube, um das Problem zu lösen, muss ich eine Unterabfrage einbauen, habe aber keine Idee wie.

    Könnte mir jemand damit helfen?
     
  2. ukulele

    ukulele Datenbank-Guru

    Du musst einfach nur A.Artbezeichnung sowohl aus dem SELECT Teil als auch aus dem GROUP BY Teil streichen.
     
  3. Arek31

    Arek31 Neuer Benutzer

    Ich möchte aber, dass die Bezeichnung mitangezeigt wird. Das ist mein Problem an der Geschichte.
     
  4. akretschmer

    akretschmer Datenbank-Guru

    Du könntest MySQL nehmen, das hält sich nicht an die SQL-Norm und liefert Dir irgend etwas. Oder Du akzeptierst, daß es unlogisch ist, was Du willst. Welche A.Artbezeichnung, falls es mehrere gibt, soll angezeigt werden?
     
  5. ukulele

    ukulele Datenbank-Guru

    Ist schon richtig es muss ja irgendeinem Sinn folgen, welche ArtBezeichnung nun angezeigt wird und welche nicht. Du kannst natürlich noch nachträglich Daten dazuholen.
    Code:
    SELECT    t1.ArtGruppe,
            t1.Verkaufspreis,
            t2.Artbezeichnung
    FROM    (
    SELECT    A.ArtGruppe,
            avg(A.ArtVKPreis) AS Verkaufspreis
    FROM    tblArtikel A
    GROUP BY A.ArtGruppe
    ) t1
    LEFT JOIN (
    SELECT    A.Artbezeichnung,
            A.ArtGruppe
    FROM    tblArtikel A
    GROUP BY A.ArtGruppe, A.ArtBezeichnung
    ) t2
    ON        t1.ArtGruppe = t2.ArtGruppe
    ORDER BY t1.Verkaufspreis,t2.Artbezeichnung
    So z.B. würde die Summe der ArtGruppe mit jeder darin vorkommenden Artbezeichnung kombiniert werden. Macht das Sinn? k.A.
     
  6. gente

    gente Benutzer

    select MIN(A.Artbezeichnung), A.ArtGruppe, AVG(A.ArtVKPreis) Verkaufspreis

    from tblArtikel A

    Group By A.ArtGruppe

    order by Verkaufspreis


    So sollte dir nach deiner Sortierung die erste Artikelbezeichnung ausgegeben werden. Schließe mich ansonsten an, k.A. inwiefern das für dich Sinn macht.
     
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