如何使用以关键字开头的名称使我的SQL查询ORDERED?

时间:2014-01-28 19:08:55

标签: php mysql 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

我该怎么做?

1 个答案:

答案 0 :(得分:4)

试试这个:

order by name like 'tel%' desc, name

这是有效的,因为表达式name like 'tel%'返回一个布尔值。真值被视为1,虚假被视为0。您首先需要真值,因此desc上的order by