当查询的时候,把flag中包含‘c’这个值的排在最前,剩下的按click降序排列,请问能不能用SQL语句直接实现查询功能?SQL语句如何写?
说明:flag字段的值有很多种,有的是c,有的是c,p,h有的是a,f,c等等,而click字段只是数值。
4 个解决方案
#1
order by if(flag='c' ,0,1),click desc
#2
select * from dede_archives order by locate('c',flag) desc, click desc
#3
order by FIND_IN_SET('c',flag),click desc
#4
加limit以后,不一定能出现在最前位置~
#1
order by if(flag='c' ,0,1),click desc
#2
select * from dede_archives order by locate('c',flag) desc, click desc
#3
order by FIND_IN_SET('c',flag),click desc
#4
加limit以后,不一定能出现在最前位置~