zoukankan      html  css  js  c++  java
  • 第3课 排序检索数据

    第3课 排序检索数据

    3.1 排序数据

    ORDER BY子句取一个或多个列的名字,据此对输出进行排序。

    SELECT prod_name
    FROM Products
    ORDER BY prod_name; 
    

    ORDER BY子句的位置
    在指定一条ORDER BY子句时,应该保证它是SELECT语句中最后一条子句。如果它不是最后的子句,将会出现错误消息。

    3.2 按多个列排序

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

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

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

    对于上述例子中的输出,仅在多个行具有相同的prod_price值时才对产品按prod_name进行排序。如果prod_price列中所有的值都是唯一的,则不会按prod_name排序。

    3.3 按列位置排序

    除了能用列名指出排序顺序外,ORDER BY还支持按相对列位置进行排序。

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

    ORDER BY 2,3表示先按prod_price,再按prod_name进行排序。

    3.4 指定排序方向

    为了进行降序排序,必须指定DESC关键字。

    下面的例子以价格降序来排序产品(最贵的排在最前面):

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

    如果打算用多个列排序,该怎么办?下面的例子以降序排序产品(最贵的在最前面),再加上产品名:

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

    DESC关键字只应用到直接位于其前面的列名。在上例中,只对prod_price列指定DESC,对prod_name列不指定。

    警告:在多个列上降序排序
    如果想在多个列上进行降序排序,必须对每一列指定DESC关键字。

    3.5 小结

    这一课学习了如何用SELECT语句的ORDER BY子句对检索出的数据进行排序。这个子句必须是SELECT语句中的最后一条子句。根据需要,可以利用它在一个或多个列上对数据进行排序。

  • 相关阅读:
    Dockerfile使用案例
    Centos创建sudo用户免密使用
    yaml实例
    k8s学习过程中需要注意的地方
    docker部署redmine项目管理软件
    kubernetes陈述式常用命令
    mysql误删除数据后如何恢复
    kubeadm安装的k8s集群卸载方式
    虚拟机vmware centos7 扩展磁盘空间
    'React/RCTBundleURLProvider.h' file not found
  • 原文地址:https://www.cnblogs.com/zhangsonghui/p/12943037.html
Copyright © 2011-2022 走看看