![]() |
ASP/SQL - Sortierprobleme...
Hallo,
1) angenommen, ich habe eine Tabelle... Von mir aus einspaltig mit folgenden (fiktiven) Werten: 15 6 24 10 8 9 21 12 5 19 Sortiert mit ORDER BY number DESC kommt da eigentlich (wenngleich verständlicher...) Schmarrn raus: 9 8 6 5 24 21 19 15 12 10 Stelle ich den einstelligen Zahlen eine '0' (Null) voran, klappt es schon besser... 24 21 19 15 12 10 09 08 06 05 So soll es eigentlich sein. Aber wie bekomme ich es ohne eine führende Null hin, so dass quasi nach dem 'Wert' der Zahl, nicht der 'Zeichenfolge' Zahl sortiert wird, gibt es da eine Möglichkeit? 2) Angenommen, ich habe eine Tabelle wie folgt: A 1 B 2 C 5 C 4 C 3 D 6 E 7 Es ist offensichtlich, dass 'C' dreimal vorkommt, mit jeweils unterschiedlicher Nummer in der anderen Spalte. Meine Frage: Kann/Wie kann ich angeben, nach welcher Spalte als zweites sortiert werden soll, wenn ich ORDER BY buchstabe ASC angebe? Ich hoffe, das Problem ist klar... Die drei 'C's werden ja nach Buchstaben sortiert, aber sie sind gleich, d. h. es gibt nicht mehr viel zu sortieren, also möchte ich eine zweite Spalte zur weiteren Sortierung angeben. Ist/Wie ist das möglich? Vielen Dank! Etienne |
Ich wurd aus dem Textfeld ein numerisches machen, dann klappt es auch mit den sortieren :D
|
oder du machst ein
ORDER BY TO_NUMBER(COLUMN_NAME) DESC funktioniert zumindest unter oracle ... edit: die gefahr ist aber, dass in dem feld nicht unbedingt zahlen drinnenstehen müssen :rolleyes: |
"Wie umgehe ich einen Designfehler mit einer CPU-Intensiven Operation", ein kleiner Kurs von und mit pc.net. ;)
|
Zitat:
nur weil man nach einem textfeld sortieren will, ist also eine DB falsch designed :eek::utoh::lol: btw: @randomize ad 2) order by spalte1 desc, spalte2 asc, spalte3, usw. ;) |
achja, nochwas:
wozu hamma denn die ganzen schnellen cpu's ... die grundeln sowieso die meiste zeit im idle-mode herum :ms: und am liebsten hab ich sowieso die sinnlosen mehrfach-konvertierungen á la to_number(to_date(to_char(1),'Y')) :verwirrt: |
Ahh. Also sagen wir mal, das zweite Problem habe ich schon selbst gelöst; Das erste... Naja der Vorschlag mit 'nem numerischen Feld klingt irgendwie garnicht mal so dumm... :D
Den letzten Kommentar habe ich wohl nicht so ganz kapiert, ich bitte um Verzeihung ob meiner Dummheit :D lol Ne im Ernst, _m3, erklär nochmal bitte mit dem ähhhh "Designfehler mit CPU-intensiver Operation"... ;) Meinst du jetzt das TO_NUMBER? Anyway, danke schonmal für den num. Feld-Tip... :D Tschööö Etienne |
@randomize
to_number ist eine eigene operation ... wenn die spalte schon den typ number hat, dann spart man sich die konvertierung und erhöht somit die performance ;) |
Zitat:
|
Zitat:
Danke nochmal wegen TO_NUMBER usw., naja also numerisches Feld ist wohl zweifelsohne das einfachste. Thx!! :) Etienne |
| Alle Zeitangaben in WEZ +2. Es ist jetzt 13:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag