请问这种情况怎么排序?

「已注销」 2016-10-27 11:47:23






刚刚解决了求和问题,现在有一个问题来了,这个怎么按一,二,三这样排序!

order by (case zhang when '一百章' then 1 when '二百章' then 2 when '三百章' then 3 when '四百章' then 4 when '五百章' then 5 when '六百章' then 6 end)

我这样写报错!报列名zhang 无效,这个怎么搞?
...全文
63 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
中国风 2016-10-27
  • 打赏
  • 举报
回复
引用 2 楼 i_SuperDiaosi 的回复:
第二个问题,为什么group by zhang是错误的但是group by (case when LEFT(phase_code,1)='1' then '一百章' when LEFT(phase_code,1)='2' then '二百章' when LEFT(phase_code,1)='3' then '三百章' when LEFT(phase_code,1)='4' then '四百章' when LEFT(phase_code,1)='5' then '五百章' when LEFT(phase_code,1)='6' then '六百章' end) 这样就不报错, 这两者不是一样的吗?
在#5例子,在GROUP BY 把你排序的表达式加上就行了
中国风 2016-10-27
  • 打赏
  • 举报
回复
或用
e.g.
SELECT CASE WHEN name='Tab1' THEN 'A' ELSE 'B' END FROM sys.tables GROUP BY CASE WHEN name='Tab1' THEN 'A' ELSE 'B' END,CASE WHEN name='Tab1' THEN 1 ELSE 2 END ORDER BY CASE WHEN name='Tab1' THEN 1 ELSE 2 END
中国风 2016-10-27
  • 打赏
  • 举报
回复
FROM (SELECT * FROM TabName) AS T--把结果定义别名 可用你的 order by 后加别名列
「已注销」 2016-10-27
  • 打赏
  • 举报
回复
球大腿解答一下怎么排序和原因
「已注销」 2016-10-27
  • 打赏
  • 举报
回复
第二个问题,为什么group by zhang是错误的但是group by (case when LEFT(phase_code,1)='1' then '一百章' when LEFT(phase_code,1)='2' then '二百章' when LEFT(phase_code,1)='3' then '三百章' when LEFT(phase_code,1)='4' then '四百章' when LEFT(phase_code,1)='5' then '五百章' when LEFT(phase_code,1)='6' then '六百章' end) 这样就不报错, 这两者不是一样的吗?
「已注销」 2016-10-27
  • 打赏
  • 举报
回复
还有就是 我选取列的时候as过了,后面直接 order by zhang 没报错,但是不是我想要的结果,用case就报错,为什么?
「已注销」 2016-10-27
  • 打赏
  • 举报
回复
引用 6 楼 roy_88 的回复:
[quote=引用 2 楼 i_SuperDiaosi 的回复:] 第二个问题,为什么group by zhang是错误的但是group by (case when LEFT(phase_code,1)='1' then '一百章' when LEFT(phase_code,1)='2' then '二百章' when LEFT(phase_code,1)='3' then '三百章' when LEFT(phase_code,1)='4' then '四百章' when LEFT(phase_code,1)='5' then '五百章' when LEFT(phase_code,1)='6' then '六百章' end) 这样就不报错, 这两者不是一样的吗?
在#5例子,在GROUP BY 把你排序的表达式加上就行了[/quote] 完美解决了 3q

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧