2010-11-30 36 views
0

我有這樣的MySQL查詢:FIND_IN_SET問題

SELECT * FROM `tbl_prods` 
WHERE `id` IN ('58', '169', '166', '496', '24', '28') 
ORDER BY FIND_IN_SET(`id`, '58, 169, 166, 496, 24, 28') 

結果是怪異:

24 
28 
166 
169 
496 
58 

我無法弄清楚如何我FIND_IN_SET

任何返回的確切順序我在做什麼錯誤的想法?

回答

1

使用FIELD而不是FIND_IN_SET

SELECT * FROM `tbl_prods` 
WHERE `id` IN ('58', '169', '166', '496', '24', '28') 
ORDER BY FIELD(`id`, '58', '169', '166', '496', '24', '28') 
+0

感謝,我完全忘記了FIELD:|愚蠢的我 – 2010-11-30 10:47:38

2

你不應該有空格

'58, 169, 166, 496, 24, 28' 

將其更改爲

'58,169,166,496,24,28'