order by (case zhang when '一百章' then 1 when '二百章' then 2 when '三百章' then 3 when '四百章' then 4 when '五百章' then 5 when '六百章' then 6 end)
我这样写报错!报列名zhang 无效,这个怎么搞?
...全文
637打赏收藏
请问这种情况怎么排序?
刚刚解决了求和问题,现在有一个问题来了,这个怎么按一,二,三这样排序! order by (case zhang when '一百章' then 1 when '二百章' then 2 when '三百章' then 3 when '四百章' then 4 when '五百章' then 5 when '六百章' then 6 end) 我这样写报错!报列名zhang 无效,这个怎么搞?
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
第二个问题,为什么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) 这样就不报错, 这两者不是一样的吗?