Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Nietypowe sortowanie rekordów
Forum PHP.pl > Forum > Przedszkole
wicek
Witam ,

mam tabele z numerami zleceń np:
numer_zlecenia:
001/RR/2014
002/TT/2014
001/HH/2013
002/JJ/2013

Potrzebuję teraz to posortować najpierw rokiem malejącą a następnie numerem malejącą , chcę uzyskać takie sortowanie:
002/TT/2014
001/RR/2014
002/JJ/2013
001/HH/2013

W mysql jeżeli dam ORDER BY numer_zlecenia DESC to mi sortuje po pierwszych numerach.
Czy jest takie coś możliwe w mysql czy trzeba kombinować w php z explode i sortowaniem tablicy?

Jak zawsze dźwięczny za sugestie i przykłady rolleyes.gif

Pozdrawiam
trueblue
Jeśli długości poszczególnych fragmentów są zawsze takie same, to możesz wycinać je za pomocą SUBSTR.
Jeśli różne to SUBSTRING_INDEX: http://dev.mysql.com/doc/refman/5.0/en/str...substring-index
Za pomocą tych dwóch funkcji, możesz pociąć wartość pola na 3 odrębne i według nich wykonać sortowanie.
wicek
Dzięki za naprowadzenie dla potomnych zapytanie :
  1. $wynik = mysql_query("SELECT * FROM tematy WHERE status='1' ORDER BY CONVERT(SUBSTRING_INDEX(numer, '/', -1),SIGNED) DESC,CONVERT(SUBSTRING_INDEX(numer, '/', 1),SIGNED) DESC") or die('Błąd zapytania');
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.