Wer*_*ner 2 mysql sql-order-by
我在mysql-db上有一个ajax-search.示例:搜索我查询的"man":
SELECT id FROM table WHERE name LIKE '%man%;
Run Code Online (Sandbox Code Playgroud)
我现在想要对结果进行排序,以便按字母顺序从搜索开始所有结果:
man
mankind
Run Code Online (Sandbox Code Playgroud)
之后,我想让所有结果按字母顺序宽度搜索INSIDE,如:
iron man
woman
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
您可以按字符串中搜索字词的位置排序:
SELECT id
FROM table
WHERE name LIKE '%man%'
ORDER BY INSTR(name, 'man'), name
Run Code Online (Sandbox Code Playgroud)
您还可以将表达式更改为仅区分字符串的开头或其他任何位置:
ORDER BY IF(INSTR(name, 'man'), 1, 0)
Run Code Online (Sandbox Code Playgroud)