如何使我的SQL查询按以关键字开头的名称订购



我有一个我想通过指定关键字开始的名称来订购的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

我该怎么做?

尝试以下:

order by name like 'tel%' desc, name

这是因为表达式name like 'tel%'返回布尔值。真实值将视为1,而false为0。您首先需要真实值,因此descorder by上。

相关内容