# MySql: Wie höchsten Wert einer Spalte ermitteln?



## tequila slammer (22. Dezember 2010)

Hallo Forum,

ich habe folgendes Problem. Wann immer mein Applikation einen Datensatz in meine Tabelle schreibt, wird in einem Feld ein fortlaufender String mit folgendem Aufbau geschrieben:
Buchstabe|Jahreszahl|Ziffer|fortlaufende Nummer. Bsp: A101001, A101002 und A101003. Meine Frage. Wie komme ich an den höchsten Wert der fortlaufenden Nummer? Ich brauche die damit meine Applikation weis wo es weiterzählen muss.

Sicherlich ist das kein MySql bezogenes Problem aber die Datenbank liegt darauf.


----------



## Yaslaw (22. Dezember 2010)

Für einfach fortlaufende Nummern hatte ich mal was geschrieben
http://wiki.yaslaw.info/wikka/MySQLFirstNotUsedId

```
SELECT
    MIN(newIds.newId) AS firstNotUsedId
FROM
    (SELECT id + 1 AS newId FROM test) AS newIds
    LEFT JOIN (SELECT id FROM test ) AS ids
        ON newIds.newId = ids.id
WHERE
    ids.id IS NULL;
```
Wenn du den Buchstaben und die Jahreszahl etc. von der fortlaufenden Nummer trennen könntest, dann könnte es so gehen.
Wie ist den die Logik in dem Schlüssel? Die Jahreszahl ist klar. Den Buchstaben und die Ziffer weisst du bereits, wenn du die neue ID lösen musst?
Beginnt die fortlaufende Nummer bei jeder Kombination Buchstabe+Jahreszahl+Ziffer weider bei 0?


----------



## tequila slammer (22. Dezember 2010)

Es handelt sich hierbei um vorläufige Buchungsnummern. Ich gehe nicht davon aus, dass jemals mehr als 999 in eine Kategorie (Ziffer) fallen werden. Wenn dem doch so sein sollte, wird der Buchstabe alphabetisch erhöht und bei 000 für die fortlaufende Nummer wieder begonnen.

Je mehr ich darüber nachdenke um so mehr stelle ich fest, dass die DB vielleicht doch nicht für sowas gemacht ist und ich lieber den letzten String anders wegschreiben sollte.


----------

