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

TALALex

Neuer Benutzer
Beiträge
2
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?
 
Werbung:

akretschmer

Datenbank-Guru
Beiträge
9.423
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.

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

Könnt Ihr mir bitte helfen?

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
 
Werbung:

TALALex

Neuer Benutzer
Beiträge
2
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
 
Oben