mysql基于第一个字母表搜索

时间:2014-06-09 18:47:52

标签: mysql sorting

我正在尝试使用以下查询在数据库中搜索

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

1 个答案:

答案 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

请注意"杏"在包含苹果的记录之后。