我有一个SQL查询,我想让它按照以指定关键字开头的名称排序。
示例:
SELECT * FROM mytable WHERE name LIKE '%tel%'
-
ID Name
1 Protel
2 Tastela
3 Telephones
4 Telling
5 Protelix
6 Zetel
我有查询“tel”,我想在那里找到所有那些结果,并且它正确地执行。但是这些行的顺序不是我想要它们的顺序,我希望它们具有最相关(我认为是那些以关键字“tel”开头的那些)导致第一行所以我想要的结果应该是是这样的:
ID Name
3 Telephones
4 Telling
2 Tastela
1 Protel
5 Protelix
6 Zetel
我该怎么做?
答案 0 :(得分:4)
试试这个:
order by name like 'tel%' desc, name
这是有效的,因为表达式name like 'tel%'
返回一个布尔值。真值被视为1
,虚假被视为0
。您首先需要真值,因此desc
上的order by
。