• 吴裕雄 17-MySQL 排序


    如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的
    ORDER BY 子句来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果。

    以下是 SQL SELECT 语句使用 ORDER BY 子句将查询数据排序后再返回数据:
    SELECT field1, field2,...fieldN table_name1, table_name2...
    ORDER BY field1, [field2...] [ASC [DESC]]
    你可以使用任何字段来作为排序的条件,从而返回排序后的查询结果。
    你可以设定多个字段来排序。
    你可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列。
    你可以添加 WHERE...LIKE 子句来设置条件。

    SELECT * from runoob_tbl ORDER BY submission_date ASC;
    +-----------+---------------+---------------+-----------------+
    | runoob_id | runoob_title | runoob_author | submission_date |
    +-----------+---------------+---------------+-----------------+
    | 3 | 学习 Java | RUNOOB.COM | 2015-05-01 |
    | 4 | 学习 Python | RUNOOB.COM | 2016-03-06 |
    | 1 | 学习 PHP | 菜鸟教程 | 2017-04-12 |
    | 2 | 学习 MySQL | 菜鸟教程 | 2017-04-12 |
    +-----------+---------------+---------------+-----------------+

    SELECT * from runoob_tbl ORDER BY submission_date DESC;
    +-----------+---------------+---------------+-----------------+
    | runoob_id | runoob_title | runoob_author | submission_date |
    +-----------+---------------+---------------+-----------------+
    | 1 | 学习 PHP | 菜鸟教程 | 2017-04-12 |
    | 2 | 学习 MySQL | 菜鸟教程 | 2017-04-12 |
    | 4 | 学习 Python | RUNOOB.COM | 2016-03-06 |
    | 3 | 学习 Java | RUNOOB.COM | 2015-05-01 |
    +-----------+---------------+---------------+-----------------+

    在 PHP 脚本中使用 ORDER BY 子句
    你可以使用PHP函数的 mysqli_query() 及相同的 SQL SELECT 带上
    ORDER BY 子句的命令来获取数据。
    该函数用于执行 SQL 命令,然后通过 PHP 函数 mysqli_fetch_array() 来输出所有查询的数据。
    实例
    尝试以下实例,查询后的数据按 submission_date 字段的降序排列后返回
    <?php
    $dbhost = 'localhost:3306'; // mysql服务器主机地址
    $dbuser = 'root'; // mysql用户名
    $dbpass = '123456'; // mysql用户名密码
    $conn = mysqli_connect($dbhost, $dbuser, $dbpass);
    if(! $conn )
    {
    die('连接失败: ' . mysqli_error($conn));
    }
    // 设置编码,防止中文乱码
    mysqli_query($conn , "set names utf8");
    $sql = 'SELECT runoob_id, runoob_title,
    runoob_author, submission_date
    FROM runoob_tbl
    ORDER BY submission_date ASC';
    mysqli_select_db( $conn, 'RUNOOB' );
    $retval = mysqli_query( $conn, $sql );
    if(! $retval )
    {
    die('无法读取数据: ' . mysqli_error($conn));
    }
    echo '<h2>菜鸟教程 MySQL ORDER BY 测试<h2>';
    echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
    while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
    {
    echo "<tr><td> {$row['runoob_id']}</td> ".
    "<td>{$row['runoob_title']} </td> ".
    "<td>{$row['runoob_author']} </td> ".
    "<td>{$row['submission_date']} </td> ".
    "</tr>";
    }
    echo '</table>';
    mysqli_close($conn);
    ?>

    如果字符集采用的是 gbk(汉字编码字符集),直接在查询语句后边添加 ORDER BY:
    SELECT *
    FROM runoob_tbl
    ORDER BY runoob_title;

    如果字符集采用的是 utf8(万国码),需要先对字段进行转码然后排序:
    SELECT *
    FROM runoob_tbl
    ORDER BY CONVERT(runoob_title using gbk);

  • 相关阅读:
    You are not late! You are not early!
    在同一个服务器(同一个IP)为不同域名绑定的免费SSL证书
    Vue.js Is Good, but Is It Better Than Angular or React?
    It was not possible to find any compatible framework version
    VS增加插件 Supercharger破解教程
    Git使用ssh key
    Disconnected: No supported authentication methods available (server sent: publickey)
    VS 2013打开.edmx文件时报类型转换异常
    asp.net MVC4 框架揭秘 读书笔记系列3
    asp.net MVC4 框架揭秘 读书笔记系列2
  • 原文地址:https://www.cnblogs.com/tszr/p/10089472.html
Copyright © 2020-2023  润新知