SQL按多个列排序

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

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

下面的代码检索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排序。

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!

 

SQL教程