Autor | Zpráva | ||
---|---|---|---|
suvel Profil |
#1 · Zasláno: 12. 2. 2010, 12:24:03
V MySQL mám tabulku se sloupcem text typu VARCHAR a uložené řetězce "1 A", "1 B", 2 A", 2 B" a "3 A" a chtěl bych je při výpisu seřadit v tomto pořadí. Nicméně, když dám ORDER BY text, seřadí se mi
3 A 1 A 1 B 2 A 2 B a když dám ORDER BY 'text', seřadí se mi 1 A 2 B 2 A 1 B 3 A Proč? A jakou mám dát podmínku, aby se to řadilo tak, jak chci (viz nahoře)? |
||
Joker Profil |
#2 · Zasláno: 12. 2. 2010, 12:36:14
suvel:
„když dám ORDER BY 'text'“ Řetězec "text" je stále stejný, takže se to bude řadit relativně náhodně. Správně je: ORDER BY `text` |
||
tiso Profil |
#3 · Zasláno: 12. 2. 2010, 12:36:28
ORDER BY `text` |
||
suvel Profil |
#4 · Zasláno: 12. 2. 2010, 14:47:01
tiso: ??
Joker: Třeba jsem to špatně napsal, ale "text" není stále stejný řetězec, ale název sloupce tabulky. |
||
Kajman_ Profil * |
#5 · Zasláno: 12. 2. 2010, 14:57:11
Věc ohraničená apostrofy je string. Není to potom název sloupce (ten se uzavírá do zpětných apostrofů)...
order by 'text' -- vždy stejný řetězec order by `text` -- obsah sloupečku |
||
suvel Profil |
#6 · Zasláno: 12. 2. 2010, 15:03:55
OK, děkuju, člověk se stále učí :-)
Ale teď jsem bohužel zjistil, že ať dám ORDER BY text ORDER BY `text` 3 A 1 A 1 B 2 A 2 B Proč je to 3 A na začátku, když má být na konci? |
||
Kajman_ Profil * |
#7 · Zasláno: 12. 2. 2010, 15:04:38
Asi je před trojkou mezera.
|
||
suvel Profil |
#8 · Zasláno: 12. 2. 2010, 15:08:49
Kajman:
Jo, byla tam. Co k tomu dodat? Snad, že má člověk nejdřív hledat chybu u sebe a ne u ORDER BY :-) |
||
Časová prodleva: 14 let
|
0