danielnoll
Goto Top

SELECT anfrage wird nicht richtig verarbeitet

SELECT * FROM navigation ORDER BY position ASC;

soll eigentlich so ausgeben:

ID | Link | Beschreibung | Rang | Postition
1 | news | Home | 0 | 1
2 | kontakt&id=1 | Kontakt | 0 | 2

macht aber nicht sonder habe ja ~ 16 links dann sortiert der das so:
ID link name rang position
1 news Home 0 1
10 links Links 0 10
11 gaestebuch Gästebuch 0 11
12 agbs AGBs 0 12
13 fags FAQs 0 13
14 userlist Userlist 0 14
15 kalender Registrieren 0 15
16 login Login 0 16
2 kontakt Kontakt 0 2
3 impressum Impressum 0 3
4 statistic Statistic 0 4
5 team Team 0 5
6 location Locations 0 6
7 galerie Galerie 0 7
8 events Events 0 8
9 kalender Kalender 0 9

sortiere ich nach ID wird die reinenfolfe eingehalten (ID 1-16), sonst nicht ...
kann mir da jemand helfen??

Content-ID: 43925

Url: https://administrator.de/contentid/43925

Ausgedruckt am: 22.11.2024 um 15:11 Uhr

Dani
Dani 07.11.2006 um 19:06:52 Uhr
Goto Top
Hi,
in den Zellen, in denen Zahlen stehen, sind alle von Typ int / double / usw...?!


Gruß
Dani
6890
6890 07.11.2006 um 19:09:23 Uhr
Goto Top
hallo,

dein problem ist wahrscheinlich das du das feld posi### als varchar deklariert hast!!
du kannst es aber mal so probieren:

SELECT id,link,beschreibung,rang,TO_NUMBER(position) AS position FROM navigation ORDER BY position ASC;

bzw so

SELECT * FROM navigation ORDER BY TO_NUMBER(position) ASC;

ich denke eines von beiden dürfte funktionieren

mfg godlike P
Biber
Biber 07.11.2006 um 19:30:06 Uhr
Goto Top
Ich hätte gar nicht zu hoffen gewagt, dass MySQL eine TO_NUMBER()-Funktion hat...

Aber die Diagnose ist richtig.
Ich hätte es allerdings zuerst so versucht:
SELECT id,link,beschreibung,rang,position*1 AS position 
FROM navigation 
ORDER BY position*1;

Gruß
Biber