日期:2014-05-17  浏览次数:20624 次

order by a,b desc不好使,是什么原因?
select...
from ...
where ...
order by a,b结果怎么与

select...
from ...
where ...
order by a,b desc的结果一样?

就是说Desc不管用?但是我希望结果的顺序倒过来。该怎么办?
------最佳解决方案--------------------
order by a desc,b
------其他解决方案--------------------
引用:
order by a,b desc 等同于 order by a asc,b desc


order by a desc,b desc
------其他解决方案--------------------
order by a,b desc 等同于 order by a asc,b desc  
------其他解决方案--------------------
如果顺序一样,证明B上有索引的影响,导致默认就是降序排序
------其他解决方案--------------------
引用:
order by a desc,b


排序的原理貌似是先按 order by 后面字段的顺序排序的
order by a,b       等同于  order by a asc,b asc
order by a,b desc  等同于  order by a asc,b desc  
其实都是先根据a先排序的 如果有2条数据 字段a值相同 b字段值不同 这两种方式排序就会有差异了。
------其他解决方案--------------------
楼主说的是SQL SERVER 数据库吗?哪个版本的?请给出表结构和测试数据。
------其他解决方案--------------------
该回复于2012-11-09 23:43:40被版主删除
------其他解决方案--------------------
该回复于2012-11-09 23:35:34被版主删除
------其他解决方案--------------------
order by a desc ,b desc,是这样写的,谢谢大家帮我分析,order by 基本的语句一直没仔细琢磨过。
------其他解决方案--------------------
order by就是升序降序排列啊,没什么特别的
但是如果是来年各个字段或者多个字段排序的话,个人认为啊,有点类似先用前面的字段进行了分组(当然也已经排序好了),然后再按照后面的字段再来排序