Order by...ma con campo alfanumerico

Ciao ragazzi!

Io ho un quesito al quale non riesco a darmi risposta...

In un DB ho un campo (chiamiamolo codice) dove ho un codice alfanumerico composto da una lettera iniziale e un numero (es. b3,b4,b5,e1,etc...) e ho bisogno di riuscire a tirar fuori in visualizzazione i record ordinati tramite questo campo però se metto order by codice questo mi ordina così: b1,b10,b11,b12,b13,b2,b20 e così via...mentre avrei bisogno di un ordinamento furbo b1,b2,b3,b4,b5,b6,etc...

E' possibile farlo?!

Grazie a tutti

inviato 7 anni fa
pasquy7
X 0 X

Ciao,

nell'order by puoi aggiungere la funzione SUBSTRING http://dev.mysql.com/doc/refman/5.0/en/string-functions.html

risposto 7 anni fa
zeta80
X 0 X

mh non sapevo!

Ho provato ma mi fa la stessa cosa!

ordina per il numero subito dopo la lettera ma, essendo il campo varchar credo, non considera i numeri in sequenza e mi metto 1,10,11,etc...  :buck:

risposto 7 anni fa
pasquy7
X 0 X

Risolto!!!

Funzione CAST insieme a SUBSTRING!

Order by CAST(SUBSTRING(codice FROM 2) AS UNSIGNED)!

risposto 7 anni fa
pasquy7
X 0 X

@pasquy7

Tu usi un database mysql per fare questa query?

risposto 7 anni fa
Mario Santagiuliana
X 0 X

@pasquy7

Tu usi un database mysql per fare questa query?

Certo che si!  :)

risposto 7 anni fa
pasquy7
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda