Mysql 特定排序SQL命令
假设我有一张类似于:Mysql 特定排序SQL命令,mysql,sql,Mysql,Sql,假设我有一张类似于: ID Name 1 Test 2 Contest 3 Fittest 4 Testament 我是否可以使用MySQL查询进行排序,以允许它首先显示特定的单词 例如,用户正在搜索单词“Test”。我有一个类似于“SELECT*FROMtableWHERE NAME,比如“%Test%”的语句。我是否可以显示结果,以显示以Test begin开头的内容,然后是其他内容,而所有内容仍按字母顺序排列 因此,产出将是: Test Testam
ID Name
1 Test
2 Contest
3 Fittest
4 Testament
我是否可以使用MySQL查询进行排序,以允许它首先显示特定的单词
例如,用户正在搜索单词“Test”。我有一个类似于“SELECT*FROMtable
WHERE NAME,比如“%Test%”的语句。我是否可以显示结果,以显示以Test begin开头的内容,然后是其他内容,而所有内容仍按字母顺序排列
因此,产出将是:
Test
Testament
Contested
Fittest
谢谢。这将把以Test开头的单词放在顶部,并按字母顺序将这些单词加上列表的其余部分进行排序
SELECT * FROM table
WHERE NAME LIKE '%Test%'
order by case when name like 'test%' then 0 else 1 end
SELECT * FROM mytable
ORDER BY CASE WHEN name LIKE 'test%' THEN 0 ELSE 1 END ASC, name ASC
这似乎适用于第一部分,将“Test%”放在第一位,但并非所有内容都是按字母顺序排列的。例如,输出类似于:TestTestTestFittest Competited