日期:2014-05-19  浏览次数:20637 次

又一次遇见这个情况
Order   by   (Case   when   **   then   1   else   0   end)+
                  (Case   when   **     then   1   else   0   end)+
                  (Case   when   **   then   1   else   0   end)+
                  (Case   when   **     then   1   else   0   end)   Desc
这个语句后面的加号啥意思啊,我知道order   by   n是针对第几列的排序,
但这个写法一直不是很明白
有时还会遇到
sum(case   when   **   then   1   else   0   end)的情况
请帮忙解释一下谢谢!




------解决方案--------------------
樓主的加号即進行加法運算

A+B:若A、B是字符串,那就是將AB連接起來

order by n
是按N列進行排序

sum(case when ** then 1 else 0 end)是對所有的1或0求和
------解决方案--------------------
最后结果应该是 order by 1或者order by 0,order by 2,order by 3,order by 4