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

Zählen von Datensätzen bis zu einer bestimmten id

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von TALALex, 4 Oktober 2013.

  1. TALALex

    TALALex Neuer Benutzer

    Hallo zusammen,

    ich möchte folgende Sache umsetzen:

    Ich habe eine MySQL Tabelle mit folgenden Feldern die für hier wichtig sind.

    id, name und aufnahmedatum

    Ich möchte einfach nur die Datensätze nach Aufnahmedatum (älteste Anmeldung als 1.) sortieren und dann alle die bis zur id x sind zählen. Als Ausgabe brauche ich nur die Zahl.
    Hinweis: Die ID´s sind zwar fortlaufend, aber da es alte Datensätze gibt, stimmen die nicht mit der Reihenfolge der Anmeldung überein.

    Beispiel um es noch deutlicher zu machen:
    (den Namen lasse ich hier mal weg)

    id---------anmeldedatum
    11---------28.09.2013
    12---------13.09.2013
    13---------22.08.2013
    14---------23.08.2013
    15---------15.06.2013
    16---------14.07.2013

    nach dem sortieren:
    id---------anmeldedatum
    15---------15.06.2013
    16---------14.07.2013
    13---------22.08.2013
    14---------23.08.2013
    12---------13.09.2013
    11---------28.09.2013

    Dann will ich alle bis zur id 12 zählen
    Ergebnis muss dann 4 sein!

    Könnt Ihr mir bitte helfen?
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Was hast Du denn bisher probiert?

    Rein logisch suchst du doch das: zähle alle Datensätze aus der Tabelle, wo datum < ist als (suche das Datum aus Deiner Tabelle wo die id = 12 ist), oder?

    Das kann man dann schon fast wörtlich übersetzen...

    Code:
    test=*# select * from talalex ;
     id |  datum
    ----+------------
     11 | 2013-09-28
     12 | 2013-09-13
     14 | 2013-08-23
     15 | 2013-06-15
     16 | 2013-07-14
     13 | 2013-08-22
    (6 rows)
    
    Time: 0,157 ms
    test=*# select count(*) from talalex where datum < (select datum from talalex where id = 12);
     count
    -------
      4
    (1 row)
    
    Also: *etwas* Eigeninitiative, okay?

    Andreas
     
  3. TALALex

    TALALex Neuer Benutzer

    vielen dank. ich wusste nicht, dass man in einem select noch ein select packen kann und irgendwie stand ich mit dem denkansatz auf dem schlauch. funktioniert ohne probleme....

    super schnelle hilfe
     
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