2016-04-02 12 views
-1

Ich versuche, Sub-String von max Wert gesucht von der Datenbank erhalten, aber fehlgeschlagen. Meine Zeichenkette ist AB/LAJ/GER/R4/0210/001 Format wo 02 ist Monat und 10 ist Jahr und letzte 000 sind Inkrement-Nummern wie Datensätze hinzugefügt werden. Ich möchte maximale Jahr und letzte 000 maximale Zahl aus Datenbank auswählen und diesen BefehlWie substr von Max-Wert mit Select Statement in PHP

"SELECT substr(max(serial), 16) FROM Subscriber WHERE Type= ....." 

verwenden, aber es zeigt nichts an.

Kann jemand bitte mich Funktion führen?

+0

Bitte kennzeichnen Sie Ihre Frage mit der Datenbank, die Sie verwenden (ich würde MySQL erraten). –

+0

ganz zu schweigen vom PHP-Tag (kein Code, der die Frage unterstützt) und mit welcher API man sich verbindet, wenn diese in einem Skript verwendet werden soll. –

Antwort

0

Wenn Sie die max Jahr und Seriennummer möchten, verwenden Sie dann right() mit max():

SELECT max(right(serial, 6)), 
FROM Subscriber 
WHERE Type = . . . 

Wenn Sie die gesamte serial oder 16 Zeichen wollen, als verwenden order by und limit:

SELECT serial 
FROM Subscriber 
WHERE Type = . . . 
ORDER BY right(serial, 6) DESC 
LIMIT 1; 

(Bei beiden Antworten wird davon ausgegangen, dass es sich bei der Datenbank um MySQL handelt, andere Datenbanken haben jedoch dieselbe Funktionalität, die oft auf die gleiche Weise ausgedrückt wird.)

+0

Sir, Vielen Dank, das hat gut funktioniert. Ich erstelle Funktion mit der Art, wie Sie vorgeschlagen haben. Ich hätte gerne Ihre Kommentare zur Funktion. lass mich das bitte erstellen und testen. – WPM