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

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
MySQL: Sorter poster...
Fra : Magnus


Dato : 07-02-07 18:09

Når jeg i MySQL sortere efter id nr så hedder det "ORDER BY id"

Men hvis jeg har 10 poster med id-nr fra 1 til 10 kan jeg så selv vælge
hvilken række følge de skal vises i f.eks. hvis jeg vil have vist posterne i
denne rækkefølge: 2, 5, 6, 7, 1, 3, 4, 8, 9, 10

Kan jeg det?


/Magnus




 
 
Jørn Andersen (07-02-2007)
Kommentar
Fra : Jørn Andersen


Dato : 07-02-07 18:45

On Wed, 7 Feb 2007 18:09:04 +0100, "Magnus" <magnusFJERN@arnason.dk>
wrote:

>Når jeg i MySQL sortere efter id nr så hedder det "ORDER BY id"
>
>Men hvis jeg har 10 poster med id-nr fra 1 til 10 kan jeg så selv vælge
>hvilken række følge de skal vises i f.eks. hvis jeg vil have vist posterne i
>denne rækkefølge: 2, 5, 6, 7, 1, 3, 4, 8, 9, 10

Normalt løser man det ved at lave et sorteringsfelt (eller flere).


Mvh. Jørn

--
Jørn Andersen,
Brønshøj

Peter Brodersen (08-02-2007)
Kommentar
Fra : Peter Brodersen


Dato : 08-02-07 11:38

On Wed, 7 Feb 2007 18:09:04 +0100, "Magnus" <magnusFJERN@arnason.dk>
wrote:

>Men hvis jeg har 10 poster med id-nr fra 1 til 10 kan jeg så selv vælge
>hvilken række følge de skal vises i f.eks. hvis jeg vil have vist posterne i
>denne rækkefølge: 2, 5, 6, 7, 1, 3, 4, 8, 9, 10
>
>Kan jeg det?

Hvis det skal gøres i en enkelt query, så er FIELD() en fin metode:
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#id2728797

FIELD(id, 2, 5, 6, 7, 1, 3, 4, 8, 9, 10) vil for eksempel returnere
det tal i rækken, id er. Det kan man så sortere på.

Fx slet og ret:

SELECT id, name
FROM table
ORDER BY FIELD(id, 2, 5, 6, 7, 1, 3, 4, 8, 9, 10)

--
- Peter Brodersen
Kendt fra Internet

Michael Zedeler (10-02-2007)
Kommentar
Fra : Michael Zedeler


Dato : 10-02-07 22:32

Magnus skrev:
> Når jeg i MySQL sortere efter id nr så hedder det "ORDER BY id"
>
> Men hvis jeg har 10 poster med id-nr fra 1 til 10 kan jeg så selv vælge
> hvilken række følge de skal vises i f.eks. hvis jeg vil have vist posterne i
> denne rækkefølge: 2, 5, 6, 7, 1, 3, 4, 8, 9, 10
>
> Kan jeg det?

En tommelfingerregel for korrekt brug af databaser er, at hvis man
bruger autogenererede id'er til andet end at slå op med, er der noget galt.

Det er almindeligt at man opretter et nyt felt, som bruges til at
sortere efter. Så kan man ændre det uden at tage hensyn til referencer
fra andre felter.

Mvh. Michael.

--
Which is more dangerous? TV guided missiles or TV guided families?
I am less likely to answer usenet postings by anonymous authors.
Visit my home page at http://michael.zedeler.dk/

Søg
Reklame
Statistik
Spørgsmål : 177449
Tips : 31962
Nyheder : 719565
Indlæg : 6408124
Brugere : 218879

Månedens bedste
Årets bedste
Sidste års bedste