SELECT Region,Contact
FROM Salesman_Info
Order by Region DESC;
如上图所示,我编写的上述查询未按请求的顺序执行结果。
我是SQL的新手。
答案 0 :(得分:1)
您可以使用
with t(region) as
(
select 'Durban' union all
select 'Johannesburg' union all
select 'Cape Town'
)
select t.*
from t
order by charindex(' ',region) , region;
如果区域列的顺序是字母顺序的,但由多个单词组成的例外,则应最后排序。
答案 1 :(得分:0)
可能只是sort by子句中的另一个排序字段?
SELECT Region, Contact
FROM Salesman_Info
Order by Region DESC, Contact;
答案 2 :(得分:0)
下面将使用@Barbaros(+1)建议提供所需的输出。
declare @t table (region nvarchar(20), contact nvarchar(10))
insert into @t values
('Cape Town','Anna'),
('Cape Town','Fred'),
('Durban','John'),
('Durban','Mary'),
('Johannesburg','Frank'),
('Cape Town','Joe')
select *
from @t
order by charindex(' ',region) ,region asc,
contact asc;
结果
region contact
Durban John
Durban Mary
Johannesburg Frank
Cape Town Anna
Cape Town Fred
Cape Town Joe