我想使用函数FIND_IN_SET来"ORDER BY“来自查询的mysql结果,问题是值里面有逗号,如下所示:
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\'' );但是,这一切都运行得很好!
你知道正确的解决方案是什么吗?谢谢!
发布于 2012-12-14 10:58:33
我相信这个函数是正确的答案/方法:
SELECT *
FROM table
ORDER BY FIELD(
column, 'valu,e1', 'value,2', 'va,lue3', 'val,ue4'
);https://stackoverflow.com/questions/13871959
复制相似问题