/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
forkert sortering af tal
Fra : Thomas


Dato : 04-02-05 09:34

hejsa

jeg har sat den til at order rækken efter dens sorterings tal

ORDER BY prisnr

men den order sådan

1
10
11
12
2
20
21

Hvordan ændrer jeg så den order
1
2
3
4
5
6
7
8
9
10


Thomas



 
 
Kim Schulz (04-02-2005)
Kommentar
Fra : Kim Schulz


Dato : 04-02-05 09:36

On Fri, 4 Feb 2005 09:33:54 +0100
"Thomas" <thomas@4701.dk> wrote:

> hejsa
>
> jeg har sat den til at order rækken efter dens sorterings tal
>
> ORDER BY prisnr
>
> men den order sådan
>
> 1
> 10
> 11
> 12
> 2
> 20
> 21
>
> Hvordan ændrer jeg så den order
> 1
> 2
> 3
> 4
> 5
> 6
> 7
> 8
> 9
> 10


Dit felt i databasen er ikke sat til at være integer men derimod til
f.eks. varchar eller text. Dette betyder at den sorterer på tegnene i
tallene (altså 1 kommer før 2, 12 kommer før 2, 123 kommer før 2 osv) på
samme måde som du ville sortere navnene hans, peter, ole.

Du kan mig bekendt ikke lige ændre dette på andre måder end at ændre
feltet i databasen til at være en "tal" type (int, float, smallint
bigint osv.)

--
Kim Schulz | Fundanemt Content Management system:
Geek by nature | http://www.fundanemt.com
schulz.dk | http://www.fundusers.org

Mads Sülau Jørgensen (04-02-2005)
Kommentar
Fra : Mads Sülau Jørgensen


Dato : 04-02-05 10:01

Kim Schulz wrote:

> Du kan mig bekendt ikke lige ændre dette på andre måder end at ændre
> feltet i databasen til at være en "tal" type (int, float, smallint
> bigint osv.)

Vær opmærksom på at du kun skal bruge float/double hvis du har brug for
at gemme et kommatal.

Og derefter desuden at der ikke er nogen grund til at bruge en bigint
til at gemme fra 1 til 100, der ville man med fordel kunne bruge en
tiny-/smallint.

--
Mads Sülau Jørgensen
"All glory to the hypno toad!"

Thomas (04-02-2005)
Kommentar
Fra : Thomas


Dato : 04-02-05 12:35

Jeg bukker og takker

findes der en dansk side hvor man kan læse mere om hvad de forskellige tabel
typer bruges til ???

thomas



Christian Joergensen (05-02-2005)
Kommentar
Fra : Christian Joergensen


Dato : 05-02-05 12:43

"Thomas" <thomas@4701.dk> writes:

> Jeg bukker og takker
>
> findes der en dansk side hvor man kan læse mere om hvad de forskellige tabel
> typer bruges til ???

http://dev.mysql.com/doc/mysql/en/column-types.html

Den er godt nok ikke dansk. Men det er *siden*.

--
Christian Jørgensen | I know kung fu!
http://www.razor.dk |

Christian Joergensen (05-02-2005)
Kommentar
Fra : Christian Joergensen


Dato : 05-02-05 12:42

Mads Sülau Jørgensen <dev@null.zero> writes:

> Vær opmærksom på at du kun skal bruge float/double hvis du har brug
> for at gemme et kommatal.

Eller meget meget store heltal stoerre end 18446744073709551615. Men igen,
det er ikke saa ofte det sker :)

--
Christian Jørgensen | Concatenation; the process of gluing one cat's
http://www.razor.dk | nose to another cat's tail. Also, a similar
| operation on two strings.

Thomas Finnerup (04-02-2005)
Kommentar
Fra : Thomas Finnerup


Dato : 04-02-05 21:22

On Fri, 4 Feb 2005 09:33:54 +0100, "Thomas" <thomas@4701.dk> wrote:

> jeg har sat den til at order rækken efter dens sorterings tal
>
> ORDER BY prisnr
>
> men den order sådan
>
> 1
> 10
> 11
> 12
> 2
> 20
> 21
>
> Hvordan ændrer jeg så den order
> 1
> 2
> 3
> 4
> 5
> 6
> 7
> 8
> 9
> 10

ORDER BY prisnr + 0


Venligst
Thomas

Christian Joergensen (05-02-2005)
Kommentar
Fra : Christian Joergensen


Dato : 05-02-05 12:45

Thomas Finnerup <TF@Picco.dk> writes:

> ORDER BY prisnr + 0

Dum loesning hvis man har enormt mange raekker, da mysql saa skal udregne
en ny sorteringsnoegle for hver eneste raekke og derfor ikke kan bruge
dens indexes til en doejt.

--
Christian Jørgensen | There is no spoon!
http://www.razor.dk |

Mads Sülau Jørgensen (07-02-2005)
Kommentar
Fra : Mads Sülau Jørgensen


Dato : 07-02-05 09:58

Thomas Finnerup wrote:

[...]

> ORDER BY prisnr + 0

Det korte af det lange her er, nej. Det er ikke en gyldig måde at løse
problemet på. Skal man gemme et tal, så skal man bruge en type det er
lavet til at gemme dette, og ikke en der er til for at lagre andre typer i.

Du må undskylde hvis det lyder som et surt opstød, det er nemlig ikke
meningen. Det er bare meget vigtigt at man forstår forskellen mellem
typer :)

--
Mads Sülau Jørgensen
"All glory to the hypno toad!"

Thomas Finnerup (07-02-2005)
Kommentar
Fra : Thomas Finnerup


Dato : 07-02-05 21:44

On Mon, 07 Feb 2005 09:57:51 +0100, Mads Sülau Jørgensen
<dev@null.zero> wrote:

> Det korte af det lange her er, nej. Det er ikke en gyldig måde at løse
> problemet på. Skal man gemme et tal, så skal man bruge en type det er
> lavet til at gemme dette, og ikke en der er til for at lagre andre typer i.
>
> Du må undskylde hvis det lyder som et surt opstød, det er nemlig ikke
> meningen. Det er bare meget vigtigt at man forstår forskellen mellem
> typer :)

Jeg er skam helt enig. Det var nu også mere for at vise, at man kan
opnå det samme (med hensyn til sortering) ved at typecaste på denne
måde.


Venligst
Thomas

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste