0

我想使用函数 FIND_IN_SET 来“ORDER BY”查询mysql结果,问题是这些值里面有COMMAS,如下所示:

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' );

如您所见,“,”用于分隔值,但值中有“,在其中...

我尝试了一些没有成功的解决方案,例如:

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\'' );

但是,这一切都很好!

你知道这个的正确解决方案是什么吗???谢谢你!

4

1 回答 1

0

我相信这个功能是正确的答案/方式:

SELECT * 
FROM table 
ORDER BY FIELD( 
   column, 'valu,e1', 'value,2', 'va,lue3', 'val,ue4' 
);
于 2012-12-14T02:58:32.847 回答