在SQL Server中排序不会给我相同的结果

时间:2015-10-22 09:55:31

标签: sql-server

为什么:

x    -    y    -  event            -    date_           - causedat
info -    info -  1#1#foo#bar#etc  -    2012/01/01/1232 - 2012/01/01/1233

给出一个完全不同的答案:

ORDER BY mx.Total, o.OrderID, ol.Quantity DESC

感觉我错过了我的SQL教育......

2 个答案:

答案 0 :(得分:3)

如果您没有指定默认顺序,则默认顺序为AAssetManager。所以

scrollOverFlow = true

实际上是

ASC

您必须为每列指定订单!

答案 1 :(得分:1)

ORDER BY clause结构:

   ORDER BY expression [ASC, DESC]

ASC: min value to max value
DESC: max value to min value

如果没有ASC或DESC,则默认为ASC。和表达式|列不共享ASC | DESC。它的意思是: Col1, Col2 DESC 不喜欢 (Col1, Col2) DESC

当在ORDER BY中有许多表达式|列,第一列到第一个排序(顺序),然​​后下一列排序基于结果排序的第一个列,然后是...

例如:

Col1  Col2  Col3
 1     2     3
 2     3     1
 3     4     1
 2     3     4
 1     2     4
 1     4     4
 2     2     3

何时:按Col1,Col2,Col3排序,结果将:

 Col1  Col2  Col3
   1     2     3
   1     2     4
   1     4     4
   2     2     3
   2     3     1     
   2     3     4         
   3     4     1