SELECT * ,SUBSTRING_INDEX(nr, '/', 1) AS numerek, SUBSTRING_INDEX(nr, '/', -1) AS rok FROM testt ORDER BY rok,numerek;
posotuje wedlug roku a nastepnie wedlug numeru. jesli chcesz odwrotnie to tylko odwroc rok i numerek na koncu. jak cos to pisz. jak bede wiedzial, pomoge. pozdr
sorka powinno byc tak
SELECT * ,CONVERT(SUBSTRING_INDEX(nr, '/', 1),SIGNED) AS numerek, CONVERT(SUBSTRING_INDEX(nr, '/', -1),SIGNED) AS rok FROM testt ORDER BY rok,numerek;
ech a tak naprawde jesli ma byc sortowanie malejace to powinno byc tak
SELECT * ,CONVERT(SUBSTRING_INDEX(nr, '/', 1),SIGNED) AS numerek, CONVERT(SUBSTRING_INDEX(nr, '/', -1),SIGNED) AS rok FROM testt ORDER BY rok DESC,numerek DESC;
ciekawe ile jeszcze razy bede edytowal tego posta
a zeby nie tworzyc dodatkowych niepotrzebnych 2 kolumn numerek i rok to mozna to zrobic tak
SELECT * FROM testt ORDER BY CONVERT(SUBSTRING_INDEX(nr, '/', -1),SIGNED) DESC,CONVERT(SUBSTRING_INDEX(nr, '/', 1),SIGNED) DESC;
jeszcze jedno, zauwazylem ze masz jeden wpis 325/06 tak wiec zeby mimo wszystko dobrze sortowalao to trzeba jeszcze inaczej to zrobic ALE warunkiem jest ze nie ma daty starszej niz 2000
SELECT * FROM testt ORDER BY CONVERT(RIGHT(SUBSTRING_INDEX(nr, '/', -1),2),SIGNED) DESC,CONVERT(SUBSTRING_INDEX(nr, '/', 1),SIGNED) DESC;
a jesli ochi o zwrocenie nastepnego numeru to mozna uzyc tego juesli masz ten wpis z rokiem w postaci 2 cyfrowej 325/06
SELECT CONCAT_WS('/',CONVERT(SUBSTRING_INDEX(nr, '/', 1),SIGNED)+1,CONVERT(SUBSTRING_INDEX(nr, '/', -1),SIGNED)) FROM testt ORDER BY CONVERT(RIGHT(SUBSTRING_INDEX(nr, '/', -1),2),SIGNED) DESC,CONVERT(SUBSTRING_INDEX(nr, '/', 1),SIGNED) DESC LIMIT 1;
lub tak jesli kazda data jest w postaci 4 cyfrowej (2006,2007)
SELECT CONCAT_WS('/',CONVERT(SUBSTRING_INDEX(nr, '/', 1),SIGNED)+1,CONVERT(SUBSTRING_INDEX(nr, '/', -1),SIGNED)) FROM testt ORDER BY CONVERT(SUBSTRING_INDEX(nr, '/', -1),SIGNED) DESC,CONVERT(SUBSTRING_INDEX(nr, '/', 1),SIGNED) DESC LIMIT 1;
select w przypadku tych danych
19/2007
21/2007
26/2007
27/2007
25/2007
24/2007
23/2007
28/2007
325/06
20/2007
29/2007
zwroci: 30/2007