webForumDet fria alternativet

klurig sortering av resultat

1 svar · 177 visningar · startad av Qonos

QonosMedlem sedan sep. 2000438 inlägg
#1

I databasen har jag ett fält som innehåller enummer. t.ex:

E100
E200
E300a
E300b
E300c
E400
E1100

låt säga att fältet heter "enumbers".. tar jag "order by enumbers" så blir det ju inte rätt eftersom ordningen blir typ:

E100
E1100
E200
E300a
E300b
E300c
E400

och så vill jag inte ha det..


SELECT enumbers, IF( (CHAR(SUBSTRING(enumbers,5,1)) > CHAR('0')),1,0) AS k, RPAD(SUBSTRING(enumbers,2,5),7,'x') AS x, LENGTH(SUBSTRING(enumbers,2)) AS l FROM table_enumbers order by l,k,x";

ger:

E100
E200
E400
E300a
E300b
E300c
E1100

Och det är ju inte heller riktigt rätt. Någon som har förslag på hur jag ska gå vidare?

QonosMedlem sedan sep. 2000438 inlägg
#2

sket i det.. ändra strukturen i databasen istället

133 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)