2012-12-14 23 views
0

我想使用的功能FIND_IN_SET爲「ORDER BY」從查詢mysql的結果,問題是,這個值有逗號裏面是這樣的:如果值有逗號,如何使用FIND_IN_SET?

valu,e1 
value,2 
va,lue3 
val,ue4 

現在,當我做了查詢我這樣做:

SELECT * FROM table ORDER BY FIND_IN_SET(column, 'valu,e1,value,2,va,lue3,val,ue4'); 

正如你所看到的「」是用來分隔值,但該值有「」在他們裏面......

我tryed一些解決方案,而更迭是這樣的:

SELECT * FROM table ORDER BY FIND_IN_SET(column, 'valu\,e1,value\,2,va\,lue3,val\,ue4'); 

SELECT * FROM table ORDER BY FIND_IN_SET(column, '\'valu,e1\',\'value,2\',\'va,lue3\',\'val,ue4\''); 

但,那什麼工作得很好!

你知道這是什麼正確的解決方案?謝謝!

回答

0

我相信這個功能是正確的答案/方式:

SELECT * 
FROM table 
ORDER BY FIELD( 
    column, 'valu,e1', 'value,2', 'va,lue3', 'val,ue4' 
);