我有一个包含单词的表和一个输入字段,可以使用实时搜索来搜索该表.目前,我使用以下查询来搜索表:
SELECT word FROM words WHERE word LIKE '%searchstring%' ORDER BY word ASC
有没有一种方法可以对结果进行排序,以便在单词开头找到字符串的结果排在第一位,在单词后面出现字符串的结果排在最后?
例如:搜索"hab"当前返回
- a lphabet
- h阿比特
- r埃哈布
但我希望这样:
- hab it(首先是因为hab是开始)
- ALP hab ET(第二个原因是"HAB"在单词的中间)
- re hab(最后一个是因为"hab"在单词的末尾)
或者至少是这样:
- hab it(首先是因为hab是开始)
- re hab(第二个,因为"hab"从第三个字母开始)
- alp hab et(最后一个是因为"hab"最晚开始,在第四个字母处)
如果有人能帮我解决这个问题就太好了!