Mam pewien nietypowy problem i nie wiem jak go "ugryźć", zaprezentuje na przykładzie o co mi chodzi. Mam a bazie kilka rekordów, zapisanych np. tak:
ID | Numer | .... 1 | A/1/2012 | .... 2 | A/5/2012 | .... 3 | A/21/2012 | .... 4 | A/101/2012 | .... 5 | Z/11/2012 | ....
To co muszę wydobyć to maksymalna wartość numeru pomiędzy A/.../2012. Wiem jak wyświetlić (czyli ograniczyć) wyniki do tego czego szukam, ale nie wiem jak zastosować funkcję MAX() w SELECIE by wyświetlał to czego poszukuję. Przykładowo...
SELECT MAX(Numer) FROM `tabela` WHERE Numer REGEXP '(A/)+[0-9]+(/2012)'
...nie zadziała bo zamiast MAX(Numer) musiałbym tutaj zamiast "Numer" wprowadzić jakiś warunek który spowoduje branie pod uwagę tylko tego numeru znajdującego się wewnątrz ciągu, a nie całego ciągu. Dodam że długość ciągu oraz numeru może być różna (dla przykładu jest A/.../2012, ale moż być też np. XYZ/......../2013, itp), dlatego na sztywno nie da się tego określić funkcją SUBSTR(). Ma ktoś pomysł jak mogę wyświetlić maksymalny numer zawierający się w tym przykładzie między A/..../2012 ?