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

Suche zweithöchsten Wert einer Partition

Dieses Thema im Forum "Oracle" wurde erstellt von FreeSepp, 9 Oktober 2017.

  1. FreeSepp

    FreeSepp Benutzer

    Hallo,

    ich brauche eine Oracle SQL Abfrage mit der ich den zweit höchsten Wert abfragen kann.
    Rank over... hilft hier nicht weiter.
    Bsp.
    Ich möchte den zweithöchsten Umsatzwert eines Produkt einer Abteilung abfragen.
    Mit dieser Abfrage wird nicht auf Abteilung und Produkt aggregiert:
    select Abteilung, Produkt_Nr2, Umsatz
    from(
    select Umsatz, rank() over (order by Umsatz desc) as row_rank
    from Verkaufszahlen)
    where row_rank = 2

    Hiermit wird zwar aggregiert aber ich bekomme nur den Höchstwert:
    select distinct max(Umsatz) over (partition by Abteilung ) Umsatz......
    from....
     
  2. akretschmer

    akretschmer Datenbank-Guru

    es reicht nicht, im rank() zu sortieren, du mußt dort auch partitionieren nach deinem Merkmal.
     
    Walter gefällt das.
  3. ukulele

    ukulele Datenbank-Guru

    Ich denke akretschmer hat Recht, du hast einfach mehrere Umsätze mit dem selben Wert auf den vorderen Plätzen, daher PARTITION BY Umsatz DESC
     
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