Autor | Zpráva | ||
---|---|---|---|
milan.lipka Profil * |
#1 · Zasláno: 21. 8. 2008, 15:22:34
Zdravím,
mám v tabuľke napríklad tieto hodnoty: hodnota 1 hodnota 2 hodnota 3 ... hodnota 10 hodnota 11 hodnota 12 Problém ale nastane, keď chcem tieto hodnoty usporiadavať cez order by. Neusporiadavajú sa v poradí ako by mali (..., hodnota 8, hodnota 9, hodnota 10, ...) ale v poradí hodnota 1, hodnota 10, hodnota 11, hodnota 12, hodnota 2, hodnota 3, ... hodnota 9 Neviete mi niekto poradiť ako ich usporiadať správne? Viem, že napríklad v php existuje funkcia natsort, ktorá usporiadava hodnoty v poli takýmto spôsobom - je niečo takéto aj v mysql? Vďaka. |
||
milan.lipka Profil * |
#2 · Zasláno: 21. 8. 2008, 15:32:54
ok, uz som to vyriesil podla http://forums.mysql.com/read.php?10,34908,35157,quote=1
|
||
Josef Čech Profil |
#3 · Zasláno: 21. 8. 2008, 15:47:12 · Upravil/a: Josef Čech
ORDER BY SUBSTRING(`sloupec_s_hodnotou`, LENGTH( "hodnota ")) + 0 Každopádně máš špatně navrnutou databázi, pokud potřebuješ takto řadit. ,) Edit: Sakriš, pozdě (a hůře)... :) |
||
milan.lipka Profil * |
#4 · Zasláno: 21. 8. 2008, 17:21:27
Nemám zle navrhnutú databázu, len potrebujem trochu zložitejší ORDER BY :-) Viz.:
SELECT * FROM kraje WHERE lng='cs' ORDER BY IF(sub=0,LPAD(id,10,'0'),sub), LENGTH(nazov), nazov |
||
es Profil * |
#5 · Zasláno: 21. 8. 2008, 17:28:30
milan.lipka
„Nemám zle navrhnutú databázu, len potrebujem trochu zložitejší ORDER BY :-) Viz.: “ Jedným z príznakov zle navrhnutej databázy je nutnosť použitia „trochu zložitejší ORDER BY“. Pokiaľ nie je toto radenie len výnimočné mali by byť čísla vo vlastnom číselnom stĺpci. |
||
Časová prodleva: 16 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0