具有特定顺序的 SQL ORDER BY,首先以特定单词开头,然后是升序 [重复]

Posted

技术标签:

【中文标题】具有特定顺序的 SQL ORDER BY,首先以特定单词开头,然后是升序 [重复]【英文标题】:SQL ORDER BY with specific order, start with particular word first then followed by ascending order [duplicate] 【发布时间】:2013-11-15 22:02:19 【问题描述】:

我想要一个像员工名字升序排列的输出,但它应该以名字“jack”开头,然后是名字的其余部分,按升序排列。

输出应该是这样的,

Jack
Anto
Becky
Carrry
Dominic
Emil
.
.
....
zen

【问题讨论】:

【参考方案1】:

请尝试

Select firstname from employees Order by 
case when firstname like 'jack' then 0 else 1 end, firstname ASC

http://sqlfiddle.com/#!2/768d0/10 上的 SQL Fiddle 演示

【讨论】:

【参考方案2】:

你也可以试试下面的查询

SELECT 
     myname
FROM 
     names
ORDER BY
     myname not like 'jack',
     myname;

http://sqlfiddle.com/#!2/768d0/20 上的演示

【讨论】:

以上是关于具有特定顺序的 SQL ORDER BY,首先以特定单词开头,然后是升序 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

没有 Order By 子句的 SQL Select 语句的顺序

SQL order by 分两步

Django告诉双重排序中具有特定属性的最后一项(order_by)

Django order_by 具体顺序

Sql Server 2008 视图中的 ORDER BY

sql语句执行顺序之group by、order by