ORDER BY按第一列进行排序,然后按指定语句中的每个其他列进行排序。
例如,考虑以下数据:
Column1 Column2======= =======1 Smith2 Jones1 Anderson3 Andrews
查询
SELECt Column1, Column2 FROM thedata ORDER BY Column1, Column2
首先将按中的所有值排序
Column1
然后对列进行排序
Column2以产生此结果:
Column1 Column2======= =======1 Anderson1 Smith2 Jones3 Andrews
换句话说,首先按
Column1顺序对数据进行排序,然后按第二列的顺序对每个子集(
Column1具有
1其值的行)进行排序。
您发布的两个语句之间的区别是,第一个语句中的行将首先按
prod_price(价格顺序,从最低到最高)排序,然后再按名称顺序排序(这意味着如果两个项目的价格相同,则一个名称的较低alpha值将首先列出),而第二个将仅按名称顺序排序(这意味着价格将基于
prod_name不考虑价格的顺序出现)。


![SQL ORDER BY多列[重复] SQL ORDER BY多列[重复]](http://www.mshxw.com/aiimages/31/634678.png)
