日期:2014-05-16  浏览次数:20901 次

mysql order by case when 多条件排序

SQL code

order by (case veg_id when  veg_id in(group_veglist) then 0 else 1 end),
,veg_ts desc,veg_picstr desc,veg_id desc


group_veglist的值是 488,489,490,491,718,541,582,583,642 形似这样的一串ID字符串

我希望先按照group_veglist里已有的ID排在最前,
其次按照ts desc,picstr desc,id desc这三个条件再进行排序

请问有方法实现吗
目前后面的三个条件排序 不起作用

------解决方案--------------------
SQL code
order by (case when  veg_id in(group_veglist) then 0 else 1 end),
,veg_ts desc,veg_picstr desc,veg_id desc