SQL必知必会(第5版)
上QQ阅读APP看书,第一时间看更新

3.2 按多个列排序

经常需要按不止一个列进行数据排序。例如,如果要显示雇员名单,可能希望按姓和名排序(首先按姓排序,然后在每个姓中再按名排序)。如果多个雇员有相同的姓,这样做很有用。

要按多个列排序,只须指定这些列名,列名之间用逗号分开即可(就像选择多个列时那样)。

下面的代码检索3个列,并按其中两个列对结果进行排序——首先按价格,然后按名称排序。

输入▼

    SELECT prod_id, prod_price, prod_name
    FROM Products
    ORDER BY prod_price, prod_name;

输出▼

    prod_id      prod_price      prod_name
    -------      ----------      --------------------
    BNBG02       3.4900           Bird bean bag toy
    BNBG01       3.4900           Fish bean bag toy
    BNBG03       3.4900           Rabbit bean bag toy
    RGAN01       4.9900           Raggedy Ann
    BR01          5.9900           8 inch teddy bear
    BR02          8.9900           12 inch teddy bear
    RYL01        9.4900           King doll
    RYL02        9.4900           Queen doll
    BR03          11.9900          18 inch teddy bear

重要的是理解在按多个列排序时,排序的顺序完全按规定进行。换句话说,对于上述例子中的输出,仅在多个行具有相同的prod_price值时才对产品按prod_name进行排序。如果prod_price列中所有的值都是唯一的,则不会按prod_name排序。