我正在尝试执行一个mysql查询,该查询将使用以" timberwood"开头的标题来命令我的结果,首先开始,然后从那里开始按字母顺序排序。这可能吗?或者我需要以某种方式在PHP中重新组织它?这是我尝试使用的代码,但它没有按我想要的方式订购..
SELECT *, (case when `title` like "timberwood%" then substring(title,6) else title end) as testing FROM #__downloads_items WHERE state = 1 ORDER BY testing asc
任何帮助将不胜感激!
答案 0 :(得分:2)
这应解决它:
Order by case when title like 'timberwood%' then 0 else 1 end asc, title asc
“case when”将为以“timberwood%”开头的任何内容提供值0,然后为其他任何内容提供1。因为这是第一个排序的东西,所有'timberwood%'的结果都应该排在最前面。