我想使用函数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\'' );
但是,这一切都运行良好!
你知道这个的正确解决方案是什么?谢谢!
答案 0 :(得分:0)
我相信这个功能是正确的答案/方式:
SELECT *
FROM table
ORDER BY FIELD(
column, 'valu,e1', 'value,2', 'va,lue3', 'val,ue4'
);