读书人

对order by的疑问,该怎么处理

发布时间: 2012-03-17 19:06:28 作者: rapoo

对order by的疑问

SQL code
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,

这个是NBDBA回复某个朋友的帖子,我对order by这边排序的原理不太明白,谁给疏导一下哈哈~

[解决办法]
这个ORDER BY,你把 CASE .... END 整个看做是一个 1到8 的整数就明白了.

[解决办法]
case when...放在select 后面看显示就用了

这是转换当 星期 列= '星期一' 转为1。。。。。。
[解决办法]
ORDER BY 酒店,数字 (1~8)

就是让星期1,2按照顺序排列 ,最后是合计 。
[解决办法]
探讨

SQL code

CASE WHEN 星期= '星期一' THEN 1
WHEN 星期= '星期二' THEN 2
WHEN 星期= '星期三' THEN 3
WHEN 星期= '星期四' THEN 4
WHEN 星期= '星期五' THEN 5
WHEN 星期= '星期六' THEN 6
WHEN 星期= '星期日' THEN 7
WHEN 星期=……

[解决办法]
SQL code
--其实有时间字段的话你可以直接ORDER BY 酒店,datepart(weekday,时间字段)
[解决办法]
其实可以理解为按照THRN后面的来排前面的序

读书人网 >SQL Server

热点推荐