webForumDet fria alternativet

Sortera poster i speciell ordning

8 svar · 638 visningar · startad av J.N.

J.N.Medlem sedan apr. 20031 660 inlägg
#1

HEJ!

Kan man sortera poster i den ordning som värdena skrivs, tex 2, 4 och 1 sist?
SELECT * FROM tbl WHERE id IN(2,4,1)

Databasen är Access i detta fall, men det är intressant för övriga också.

emissionMedlem sedan dec. 19996 721 inlägg
#2
SELECT * FROM tbl ORDER by instr(',2,4,1,',',' + cstr(id) + ',')
@ndersMedlem sedan juni 200032 969 inlägg
#3

J.N., svårt att hitta till SQL-forumet idag? :)

J.N.Medlem sedan apr. 20031 660 inlägg
#4

HEJ!

Nja, jag letade efter Access-forumet, fast det hette väl Databashantering tidigare. När det inte fanns, slogs väl ihop med något, lade jag den här, eftersom "2 databaser"-tråden fanns här.

När jag tittar på SQL-forumet ser jag att jag tom läste ett inlägg där innan jag skrev min fråga. :r
Flytta gärna alltså!

Tillbaka till frågan, det fungerar perfekt, men det ger ju alla poster, även om de börjar med 1,4,2, men sedan fortsätter det med 3,5,6,7 osv.
Hur får man stopp på det?

emissionMedlem sedan dec. 19996 721 inlägg
#5
SELECT * FROM tbl WHERE id IN (2,4,1) ORDER by instr(',2,4,1,',',' + cstr(id) + ',')
J.N.Medlem sedan apr. 20031 660 inlägg
#6

HEJ!

Det fungerade alldeles perfekt!

Vad gör InStr, jämför den id i de som ska hämtas med de som står i IN?

LarsGMedlem sedan dec. 200012 464 inlägg
#7

Flyttas från ASP

rustMedlem sedan dec. 200310 inlägg
#8

Det här var precis vad jag letade efter, men jag får det inte riktigt att fungera. Hänger inte med på vad alla komman '-tecken betyder, men men...

Finns någon bra sida med lite mer info om detta?

Jag vill att postera ska sorteras beroende på vad som står i en speciell kolumn, finns tre olika alternativ (text-strängar).

rustMedlem sedan dec. 200310 inlägg
#9

Svarar på min egen fråga...

Fick som sagt inte det som stod att fungera, jag letade upp en annan grej som som jag inte heller fick att fungera. Då noterade att jag "råkat" göra en annan sak som ställde till allting. Kör med nedanstående metod för att sortera hur man vill :)

SELECT * FROM tbl_players WHERE position IN ('Målvakt', 'Back', 'Forward') ORDER BY FIELD(position, 'Målvakt', 'Back', 'Forward')

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)