Autor | Zpráva | ||
---|---|---|---|
krupis Profil * |
#1 · Zasláno: 28. 11. 2009, 23:21:55
Ahoj...
Potřeboval bych poradit s jedním SQL dotazem. Třídím tabulku na základě kritérií "body" a "rozdíl"...Rozdíl jsou vstřelené mínus obdržené branky :-) SQL dotaz vypadá takto: 'SELECT tym, zapasy, vyhry, remizy, prohry, vstrelene, obdrzene, rozdil, body FROM tabulka ORDER BY body DESC, rozdil DESC' Uvedu příklad: Výsledky: Tým A - Tým B 5:0 Tým C - Tým D 3:0 Tým E - Tým F 1:0 Čekal bych, že to seřadí takto: 1. Tým A: 5:0 +5 2b 2. Tým C: 3:0 +3 2b 3. Tým E: 1:0 +1 2b 4. Tým F: 0:1 -1 0b 5. Tým D: 0:3 -3 0b 6. Tým B: 0:5 -5 0b Jenže to SQL seřadí takto: 1. Tým A: 5:0 +5 2b 2. Tým C: 3:0 +3 2b 3. Tým E: 1:0 +1 2b 4. Tým B: 0:5 -5 0b 5. Tým D: 0:3 -3 0b 6. Tým F: 0:1 -1 0b Nevíte proč mi to nefunguje? Proč to jakoby nereaguje na záporné znaménko a místo DESC se to u záporného skóre chová jako ASC??? Děkuju mockrát za pomoc. |
||
Aesir Profil |
#2 · Zasláno: 28. 11. 2009, 23:31:48
|
||
krupis Profil * |
#3 · Zasláno: 29. 11. 2009, 08:42:17
Díky, nyní vše funguje jak má. S MySQL pracuju nedlouho, proto bych se rád zeptal, jak zadaný příkaz funguje. Děkuji
|
||
krupis Profil * |
#4 · Zasláno: 29. 11. 2009, 08:43:15
a taky proč můj SQL dotaz nefungoval :-)
|
||
Aesir Profil |
#5 · Zasláno: 29. 11. 2009, 12:01:25
krupis:
„jak zadaný příkaz funguje“ Přetypuje před řazením hodnotu ze sloupce `rozdil` na celočíselný typ. „a taky proč můj SQL dotaz nefungoval :-)“ Protože předpokládám, že sloupec `rozdil` je definovaný jako jeden z textových datových typů a podle toho se s ním také zachází. |
||
Časová prodleva: 14 let
|
0