Visa ett inlägg
Oläst 2007-10-01, 12:15 #12
swans avatar
swan swan är inte uppkopplad
Medlem
 
Reg.datum: Oct 2004
Inlägg: 216
swan swan är inte uppkopplad
Medlem
swans avatar
 
Reg.datum: Oct 2004
Inlägg: 216
Citat:
Originally posted by andi@Sep 28 2007, 21:43
Kan detta funka?


SELECT ID, Title, FIND_IN_SET(id, '2343, 4352, 6543, 3245') as sort_column
FROM products
ORDER BY sort_column
Efter lite modifiering fick jag det att fungera. Det är viktigt att det inte är mellanslag i FIND_IN_SET.

SELECT ID, TITLE, FIND_IN_SET(ID, '2343,4352,6543,3245') as sort_column
FROM PRODUCTS
WHERE ID IN ('2343','4352','6543','3245')
ORDER BY sort_column

Frågan gick ganska snabbt att exekvera, men när jag körde EXPLAIN så står det "Using where; Using filesort". Tar jag bort FIND_IN_SET så försvinner "using filesort". Din lösning är annars väldigt bra - men jag hade helst sett att den inte använder filesort då det slöar ner frågan...
swan är inte uppkopplad   Svara med citatSvara med citat