PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQLi/PDO/(MySQL) (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   MySQL Query mit Max Nummer und String (http://www.selfphp.de/forum/showthread.php?t=24986)

5kyy 14.06.2013 11:02:53

MySQL Query mit Max Nummer und String
 
Morgen,

ich hänge gerade an einer kleinen Aufgabe und komm nicht wirklich darauf.

Ich habe eine Spalte mit fortlaufenden Nummern, welche auch ein Präfix enthalten können z.b.

CR123
CR124
CR125
ER201
CR128
ER208
EX101

Ich hätte nun gerne eine Abfrage, welche mir von den jeweiligen Präfixen das Max ermittelt. Also als Ergebnis:
CR128
ER208
EX101

Was ich schon herausgefunden habe, dass ich mit MAX(number) die allgemeine größte Zahl bekomme.
Das allein hilft mir nur nicht weiter.

Gibts es da eine geschickte Query-Kombination oder bleibt mir nichts anderes Übrig, als alle Existierenden Nummern jedesmal durchzusuchen, per PHP zu trennen und daraus das MAX zu ermitteln?

LG
5ky

DokuLeseHemmung 14.06.2013 12:21:01

AW: MySQL Query mit Max Nummer und String
 
Teile es in 2 Spalten auf. Dann tust du der ersten Normal Form genüge und kannst deine Abfragen basteln.

A Visual Explanation of SQL Joins
SQL und relationale Algebra
Die 5 Normal Formen

ichbins 08.07.2013 23:29:20

AW: MySQL Query mit Max Nummer und String
 
Wenn es immer ein Präfix mit zwei Buchstaben gibt, könntest Du so etwas machen:

SELECT MAX(CAST(SUBSTR(Feldname,3) AS SIGNED)) FROM tabelle

Substr gibt dir den Teilstring ab dem dritten Zeichen
CAST ... AS SIGNED sorgt dafür, dass das Ergebnis als Zahl interpretiert wird

Aber das funktioniert halt nur, wenn der Präfix immer aus zwei Buchstaben besteht...

Ckaos 09.07.2013 07:30:10

AW: MySQL Query mit Max Nummer und String
 
Hi,

@ichbins
Zitat:

von den jeweiligen Präfixen das Max
da müsste er deinen Ansatz erweitern um den Präfix zu gruppieren
und dann könnte es langsam werden.

Also zurück zur besten Lösung
Zitat:

Teile es in 2 Spalten auf.
MfG

CKaos


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:13:32 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.