我正在尝试使用以下查询在数据库中搜索
SELECT `name` FROM `food` WHERE `name` LIKE '%cheese%'
我在数据库中有数据,如
apple cheese
cheese crust
cheese apple
apple crunch cheese
因此,当我使用我的查询日期时,按原样返回日期,但我想根据第一个单词对其进行排序...例如,如果我搜索奶酪,那么以奶酪作为第一个单词的列应该进入顶部
例如
cheese crust
cheese apple
apple cheese
apple crunch cheese
答案 0 :(得分:4)
如果您想首先获得苹果结果,但是以苹果开头的字段进入"真的是第一个",那么您需要:
SELECT *
FROM food
WHERE name LIKE '%apple%'
ORDER BY (name LIKE 'apple%') DESC, name ASC
对所有拥有苹果"的记录进行排序。首先,然后在其中,将以苹果开头的记录排序到堆顶部。
所以你最终得到了
apple fries
apple fruit
cream,apple
cheese apple
apricot
请注意"杏"在包含苹果的记录之后。