添加包含案例订单的整体订单

时间:2013-08-05 13:48:42

标签: mysql sql

我有一个带有where语句的sql,然后是一个订购语句。

我的订购声明就像这样

'ORDER BY CASE 
WHEN '.$col.' LIKE \''.$searchTerm.'\' THEN '.$c_0++.' 
WHEN '.$col.' LIKE \''.$searchTerm.'%\' THEN '.$c_20++.' 
WHEN '.$col.'LIKE \'%'.$searchTerm.'%\' THEN '.$c_40++.'
ELSE '.$c_60.' END,'.$col;

这可以完成几次,具体取决于列数,然后再分割我的搜索词。这很好用但是当有几个匹配第一个订单语句的结果时,它们会显示在ID顺序上,这不是我想要的。

如何向此添加ORDER BY 'RELEASE_DATE' DESC

我尝试将我的sql添加到数字位置,但只是让sql santex错误回复给我

1 个答案:

答案 0 :(得分:1)

您向order by添加了另一个子句:

ORDER BY (CASE WHEN '.$col.' LIKE \''.$searchTerm.'\' THEN '.$c_0++.' 
               WHEN '.$col.' LIKE \''.$searchTerm.'%\' THEN '.$c_20++.' 
               WHEN '.$col.'LIKE \'%'.$searchTerm.'%\' THEN '.$c_40++;
               ELSE '.$c_60.'
          END),
         (CASE WHEN '.$col.' LIKE \''.$searchTerm.'\' THEN RELEASE_DATE END) desc,
         '.$col