34,594
社区成员
发帖
与我相关
我的任务
分享
ORDER BY 酒店,CASE WHEN 星期= '星期一' THEN 1
WHEN 星期= '星期二' THEN 2
WHEN 星期= '星期三' THEN 3
WHEN 星期= '星期四' THEN 4
WHEN 星期= '星期五' THEN 5
WHEN 星期= '星期六' THEN 6
WHEN 星期= '星期日' THEN 7
WHEN 星期= '合计' THEN 8
END,
--其实有时间字段的话你可以直接
ORDER BY 酒店,datepart(weekday,时间字段)
use tempdb
go
--> --> (Roy)生成測試數據
if not object_id('Tempdb..#T') is null
drop table #T
Go
Create table #T(星期 nvarchar(50))
Insert #T
select '星期一' union all
select '星期二' union all
select '星期三' union all
select '星期四' union all
select '星期五' union all
select '星期六' union all
select '星期日' union all
select '合计'
Go
select 星期,
CASE WHEN 星期= '星期一' THEN 1
WHEN 星期= '星期二' THEN 2
WHEN 星期= '星期三' THEN 3
WHEN 星期= '星期四' THEN 4
WHEN 星期= '星期五' THEN 5
WHEN 星期= '星期六' THEN 6
WHEN 星期= '星期日' THEN 7
WHEN 星期= '合计' THEN 8
END as 字段
from #T
order by 字段
/*
星期 字段
星期一 1
星期二 2
星期三 3
星期四 4
星期五 5
星期六 6
星期日 7
合计 8
*/
use tempdb
go
--> --> (Roy)生成測試數據
if not object_id('Tempdb..#T') is null
drop table #T
Go
Create table #T(星期 nvarchar(50))
Insert #T
select '星期一' union all
select '星期二' union all
select '星期三' union all
select '星期四' union all
select '星期五' union all
select '星期六' union all
select '星期日' union all
select '合计'
Go
select
CASE WHEN 星期= '星期一' THEN 1
WHEN 星期= '星期二' THEN 2
WHEN 星期= '星期三' THEN 3
WHEN 星期= '星期四' THEN 4
WHEN 星期= '星期五' THEN 5
WHEN 星期= '星期六' THEN 6
WHEN 星期= '星期日' THEN 7
WHEN 星期= '合计' THEN 8
END as 字段
from #T
order by 字段
/*
1
2
3
4
5
6
7
8
*/
CASE WHEN 星期= '星期一' THEN 1
WHEN 星期= '星期二' THEN 2
WHEN 星期= '星期三' THEN 3
WHEN 星期= '星期四' THEN 4
WHEN 星期= '星期五' THEN 5
WHEN 星期= '星期六' THEN 6
WHEN 星期= '星期日' THEN 7
WHEN 星期= '合计' THEN 8
END
order by 后面的这个应该这么理解
select
CASE WHEN 星期= '星期一' THEN 1
WHEN 星期= '星期二' THEN 2
WHEN 星期= '星期三' THEN 3
WHEN 星期= '星期四' THEN 4
WHEN 星期= '星期五' THEN 5
WHEN 星期= '星期六' THEN 6
WHEN 星期= '星期日' THEN 7
WHEN 星期= '合计' THEN 8
END as 字段
order by 字段
只是字段没有在select里面显示