order by (case veg_id when  veg_id in(group_veglist) then 0 else 1 end),
,veg_ts desc,veg_picstr desc,veg_id descgroup_veglist的值是 488,489,490,491,718,541,582,583,642 形似这样的一串ID字符串我希望先按照group_veglist里已有的ID排在最前,
其次按照ts desc,picstr desc,id desc这三个条件再进行排序请问有方法实现吗
目前后面的三个条件排序 不起作用

解决方案 »

  1.   

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

  2.   

    应该不是后三个排序不起作用,而是你case when 写的有点问题,去掉case后边的veg_id看看
      

  3.   

    不好意思,高兴错了,这样写的话后面三个条件的确是可以的,但是case when那个条件又不行了
      

  4.   

    不好意思,高兴错了,这样写的话后面三个条件的确是可以的,但是case when那个条件又不行了
      

  5.   

    嗯 我找到问题的原因了,in(group_veglist)这里我疏忽了,应该传具体的值进去,我传的列名所以没出来效果,谢谢你啦!!