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

Prozentualen Anteil

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von Oesmann, 15 November 2013.

  1. Oesmann

    Oesmann Neuer Benutzer

    Hallo zusammen,
    ich habe ein Problem mit einer SQL-Abfrage. Seit Tagen versuche eine Lösung zu finden, leider ohne Erfolg.
    Ich habe folgende Abfrage:

    SELECT DISTINCT [Werbemittel],
    COUNT(DISTINCT Kunden) as KndAnzWm „(Anzahl der Kunden)“
    Sum(BEZUG) as SumWg, „(Anzahl der Werbemittel)“
    [VKL] as Mitarbeiter „(Mitarbeiter)“
    FROM [dwh].[C_WERBEMITTEL]
    Group by Werbemittel, VKL
    Order by Werbemittel

    Ich benötige die Anzahl der Kunden pro Werbemittel für jeden Mitarbeiter und die Anzahl der Werbemittel pro Werbemittel für jeden Mitarbeiter.
    Beispiel:
    Werbemittel Mitarbeiter AnzahlWM AnzahlKd
    01001 1 3 2
    01001 2 5 2
    01002 1 3 1
    Das klappt auch alles wunderbar.
    Jetzt benötige ich aber auch den prozentualen Anteil des Mitarbeiters.
    Mitarbeiter 1 hat bei einen Anteil von X% am Werbemittel 01001.

    Geht das überhaupt in einer Abfrage?
    Vielen Dank für eure Hilfe.
     
  2. akretschmer

    akretschmer Datenbank-Guru


    Meinst sowas:

    Code:
    test=*> select * from foo;
     mitarbeiter | anzahl
    -------------+--------
     hans  |  10
     otto  |  20
     willi  |  50
     anna  |  130
    (4 rows)
    
    test=*> select *, 100 * (anzahl / (sum(anzahl) over ())::numeric)::numeric(6,3) as anteil from foo ;
     mitarbeiter | anzahl | anteil
    -------------+--------+--------
     hans  |  10 |  4.800
     otto  |  20 |  9.500
     willi  |  50 | 23.800
     anna  |  130 | 61.900
    (4 rows)
    
    Ist jetzt PostgreSQL, sollte mit M$SQL aber auch in etwa so gehen.
     
    gurbelunder gefällt das.
  3. gurbelunder

    gurbelunder Datenbank-Guru

    Eigentlich reicht hier die normale Dreisatzanwendung zum Ausrechnen eines Prozentsatzes, wie man es in der Schule gelernt hat.
     
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