Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] ORDER BY dla liczb ze stringiem
elmozaur
post
Post #1





Grupa: Zarejestrowani
Postów: 518
Pomógł: 18
Dołączył: 21.07.2008

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


Witajcie.
Problem jest taki:
mam kolumne w ktorej dane maja format 'a1_1', 'a1_2', 'a1_3' itd.
Chcialbym teraz aby przy robieniu selecta dane byly sortowane po tej kolumnie i tu robi sie problem gdyz dostaje coś takiego:
a1_1
a1_10
a1_11
a1_12
a1_2
a1_21
a1_3
itd

a chcialbym:
a1_1
a1_2
a1_3
a1_10
a1_11
a1_12
a1_21
itd.

Typ kolumny musi byc varchar. Zastanawiałem sie nad rozbiciem tego na 2 kolumny tak aby liczenie bylo po intach ale wtedy reszta już istniejącej aplikacji sie rozsypie.
Mogę też wrzucić wszystko do tablicy php i posortowac wynik po użyciu exploda ale to mało wydajne rozwiązanie. Czy na poziomie samego SQLa mozna jakąś funkcją przesortować tego typu dane ?

pozdrawiam
Grzegorz

wygooglało mi się coś takiego - gdyby ktoś szukał

  1. ORDER BY CAST(SUBSTR(bid FROM 4) AS UNSIGNED) ASC
Go to the top of the page
+Quote Post

Posty w temacie


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: 24.08.2025 - 15:31