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-Key: 43925

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

Printed on: April 19, 2024 at 01:04 o'clock

Member: Dani
Dani Nov 07, 2006 at 18:06:52 (UTC)
Goto Top
Hi,
in den Zellen, in denen Zahlen stehen, sind alle von Typ int / double / usw...?!


Gruß
Dani
Mitglied: 6890
6890 Nov 07, 2006 at 18:09:23 (UTC)
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
Member: Biber
Biber Nov 07, 2006 at 18:30:06 (UTC)
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