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

Rangliste Eintrag mit 2 werten drüber und drunter

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von Damlo, 17 Januar 2017.

  1. Damlo

    Damlo Benutzer

    Hallo zusammen,

    ich brauch mal kurz eure Hilfe.

    ich soll eine Rangliste machen mit einem Limit von 5.

    der dritte Eintrag soll die eigene UserID sein und es sollen 2 da drüber und 2 darunter ausgegeben werden.
    so, wie kriege ich die 2 darüber und darunter raus? Irgendwie fällt mir da grade keine Funktion für ein...
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Ich habe eine gute und eine schlechte Nachricht für Dich, zuerst die gute:

    das geht in SQL ganz einfach. Für Ranglisten selbst gibt es die Funktionen rank() und dense_rank() (Unterschied ist die Behandlung von Platzgleichheit, Details siehe Doku), und um auf Werte in Datensätzen vor/nach dem aktuellen zuzugreifen gibt es lead() und lag(). All dieses Funktionen sind sog. Window-Funktionen, sie erfordern jeweils die Angabe/Definition eines "Fensters" über den Daten, auf die sie sich beziehen, diese Definition folgt nach dieser Funktion via der over(...) - Definition.

    Die schlechte Nachricht: MySQL kann das nicht. Möglicherweise hast Du Dich nur im Forum verlaufen und wolltest diese Frage z.B. unter "PostgreSQL" stellen.
     
  3. ukulele

    ukulele Datenbank-Guru

    Steht der Rang denn schon in der Tabelle drin oder wie kriegst du den bisher raus?
     
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