我有一个表,其中包含单词和一个输入字段,可以使用实时搜索来搜索该表。目前,我使用以下查询来搜索表:
SELECT word FROM words WHERE word LIKE '%searchstring%' ORDER BY word ASC
有没有办法对结果进行排序,以便在单词开头找到字符串的结果排在第一位,而在单词后面出现的字符串排在最后?
示例:搜索“ hab ”当前返回
- 一个字母表
- 习惯_
- 康复_
但我喜欢这样:
- hab it(首先因为'hab'是开始)
- alp hab et (第二个因为'hab'在单词的中间)
- re hab (最后因为 'hab' 在词尾)
或者至少这样:
- hab it(首先因为'hab'是开始)
- re hab (第二个,因为“hab”从第三个字母开始)
- alp hab et (最后因为“hab”开始最晚,在第四个字母)
如果有人可以帮助我解决这个问题,那就太好了!