Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]Nietypowe sortowanie rekordów
wicek
post
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 1
Dołączył: 13.02.2014

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/rolleyes.gif)

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
wicek
post
Post #3





Grupa: Zarejestrowani
Postów: 55
Pomógł: 1
Dołączył: 13.02.2014

Ostrzeżenie: (0%)
-----


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');
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.09.2025 - 16:39