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...