我有一个带有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错误回复给我
答案 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