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

MAX id pro User

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von blueangel1610, 23 Mai 2012.

  1. blueangel1610

    blueangel1610 Neuer Benutzer

    Einen wunderschönen guten Abend :)

    Das ist mein erster Beitrag in diesem Forum. Ich hoffe an dieser Stelle mit meinem etwas speziellen Wunsch richtig zu sein, und hoffe auf einen kleinen Denkanstoß.

    Ich habe eine Übersicht über Abmeldungen von Usern aus einer Datenbank. Mein Ziel ist es nun die NIcks zu gruppieren und jeweils nur die mit der ihr zugeteilten MAX(id) angezeigt werden, sodass die Liste übersichtlicher wird.
    Das hat den Hintergrund das ich damit nur noch die letzte Abmeldung des betreffenden Nicks sehe.

    Meine bisherigen Versuche scheiterten. Dabei habe ich über die Spalte NICKS gruppiert, daber allerdings wie erwartet nur jeweils die erste ID zum jeweiligen Nick erhalten. Ich denke an dieser Stelle könnte ein Subselect zum Einsatz kommen, allerdings weiß ich nicht genau wie ich diesen formulieren soll.

    Ich hoffe das Anhängen des passenden Screenshots an diesen Beitrag hat geklappt, damit man sich das Problem besser vorstellen kann.


    Lieben Gruß,
    Chris
     

    Anhänge:

  2. PLSQL_SQL

    PLSQL_SQL Datenbank-Guru

    Hy,

    ich nehme jetzt mal an, dass deine Tabelle den Namen "LOG" hat.


    Code:
     
    Select Nick, id, von, bis, tage, status
        from LOG a
     
        where a.id = ( select max(b.id) from LOG b where b.Nick = a.Nick ) --liefert die GRÖSSTE ID
     
    
    Sollte damit funktionieren.
    Meiner MEinung nach solltest du (um den letzten Eintrag je Nick zu erhalten) eher das Datum "BIS" heranziehen, da bei der ID die GRÖSSTE nicht immer der letzte Eintrag sein muss! (IMPORT oder so sachen)

    Lg
     
  3. blueangel1610

    blueangel1610 Neuer Benutzer

    Vielen Dank für deine Antwort.
    Die Struktur der Tabelle entspricht aber der Logik das die höchste ID von einem nick der letzte Eintrag ist.

    Leider brauche ich nicht die allgemein höchste ID in der Tabelle sondern die höchste ID je Nick.
    Daran scheitere ich leider bisher.

    Lieben Gruß,
    Chris
     
  4. blueangel1610

    blueangel1610 Neuer Benutzer

    Für die Nachwelt:

    Code:
    SELECT DISTINCT a.*, DATE_FORMAT(a.von, '%d.%m.%Y') AS von_formatiert, DATE_FORMAT(a.bis, '%d.%m.%Y') AS bis_formatiert, TIMESTAMPDIFF(DAY, a.von, a.bis) AS differenz
    FROM abmeldung a AUTO JOIN abmeldung b ON (a.nick=b.nick)
    WHERE a.id>= (SELECT MAX(b.id) FROM abmeldung b WHERE a.nick=b.nick)
     
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