MariaDB - Order BY 子句

  • 简述

    正如前面讨论中提到的,ORDER BY 子句对语句的结果进行排序它指定操作数据的顺序,并包括按升序 (ASC) 或降序 (DESC) 排序的选项。省略顺序指定时,默认顺序为升序。
    ORDER BY 子句出现在各种语句中,例如 DELETE 和 UPDATE。它们总是出现在语句的末尾,而不是在子查询中或集合函数之前,因为它们对最终结果表进行操作。您也不能使用整数来标识列。
    查看下面给出的 ORDER BY 子句的一般语法 -
    
    SELECT field, field2,... [or column] FROM table_name, table_name2,...
    ORDER BY field, field2,... ASC[or DESC]
    
    在命令提示符或 PHP 脚本中使用 ORDER BY 子句。
  • 命令提示符

    在命令提示符下,只需使用标准命令 -
    
    root@ host# mysql -u root -p password;
    Enter password:*******
    mysql> use PRODUCTS;
    Database changed
    mysql> SELECT * from products_tbl ORDER BY product_manufacturer ASC
    +-------------+----------------+----------------------+
    | ID_number   | Nomenclature   | product_manufacturer |
    +-------------+----------------+----------------------+
    | 56789       | SuperBlast 400 | LMN Corp             |
    +-------------+----------------+----------------------+
    | 67891       | Zoomzoom 5000  | QFT Corp             |
    +-------------+----------------+----------------------+
    | 12347       | Orbitron 1000  | XYZ Corp             |
    +-------------+----------------+----------------------+
    
  • 使用 Order By 子句的 PHP 脚本

    在使用 ORDER BY 子句的语句中再次使用mysql_query()函数 -
    
    <?php
       $dbhost = 'localhost:3036';
       $dbuser = 'root';
       $dbpass = 'rootpassword';
       $conn = mysql_connect($dbhost, $dbuser, $dbpass);
       
       if(! $conn ) {
          die('Could not connect: ' . mysql_error());
       }
       $sql = 'SELECT product_id, product_name, product_manufacturer, ship_date 
          FROM products_tbl ORDER BY product_manufacturer DESC';
       mysql_select_db('PRODUCTS');
       $retval = mysql_query( $sql, $conn );
       if(! $retval ) {
          die('Could not get data: ' . mysql_error());
       }
       while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
          echo "Product ID :{$row['product_id']} <br> ".
             "Name: {$row['product_name']} <br> ".
             "Manufacturer: {$row['product_manufacturer']} <br> ".
             "Ship Date : {$row['ship_date']} <br> ".
             "--------------------------------<br>";
       }
       echo "Fetched data successfully\n";
       mysql_close($conn);
    ?>
    
    成功检索数据后,您将看到以下输出 -
    
    Product ID: 12347
    Nomenclature: Orbitron 1000
    Manufacturer: XYZ Corp
    Ship Date: 01/01/17
    ----------------------------------------------
    Product ID: 67891
    Nomenclature: Zoomzoom 5000
    Manufacturer: QFT Corp
    Ship Date: 01/01/17
    ----------------------------------------------
    Product ID: 56789
    Nomenclature: SuperBlast 400
    Manufacturer: LMN Corp
    Ship Date: 01/04/17
    ----------------------------------------------
    mysql> Fetched data successfully