• ADADADADAD

    mysql如何实现查询并排序[ mysql数据库 ]

    mysql数据库 时间:2024-11-25 18:01:11 热度:1℃

    作者:文/会员上传 下载docx

    简介:

    在mysql中,可以利用SELECT语句和“ORDER BY”关键字来实现查询排序功能,语法“SELECT * FROM 数据表名 ORDER BY 字段名 [ASC|DESC]”;如果设置“ASC”则可升序排序,“DESC”则

    以下为本文的正文内容,请查阅,本站为公益性网站,复制本文以及下载DOC文档全部免费。

    在mysql中,可以利用SELECT语句和“ORDER BY”关键字来实现查询排序功能,语法“SELECT * FROM 数据表名 ORDER BY 字段名 [ASC|DESC]”;如果设置“ASC”则可升序排序,“DESC”则可降序排序。

    本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。

    在mysql中,可以利用SELECT语句和“ORDER BY”关键字实现查询排序效果。

    SELECT 语句可以查询数据,而ORDER BY关键字可以将查询结果中的数据按照一定的顺序进行排序

    语法:

    SELECT*FROM数据表名ORDERBY字段名[ASC|DESC]

    语法说明如下。

      字段名:表示需要排序的字段名称,多个字段时用逗号隔开。

      ASC|DESCASC表示字段按升序排序;DESC表示字段按降序排序。其中ASC为默认值。

      使用 ORDER BY 关键字应该注意以下几个方面:

        ORDER BY 关键字后可以跟子查询。

        当排序的字段中存在空值时,ORDER BY 会将该空值作为最小值来对待。

        ORDER BY 指定多个字段进行排序时,MySQL 会按照字段的顺序从左到右依次进行排序。

        单字段排序

        下面通过一个具体的实例来说明当 ORDER BY 指定单个字段时,MySQL 如何对查询结果进行排序。

        例 1

        下面查询 tb_students_info 表的所有记录,并对 height 字段进行排序,SQL 语句和运行结果如下。

        mysql>SELECT*FROMtb_students_infoORDERBYheight;+----+--------+---------+------+------+--------+------------+|id|name|dept_id|age|sex|height|login_date|+----+--------+---------+------+------+--------+------------+|2|Green|3|23|F|158|2016-10-22||1|Dany|1|25|F|160|2015-09-10||4|Jane|1|22|F|162|2016-12-20||7|Lily|6|22|F|165|2016-02-26||10|Tom|4|23|M|165|2016-08-05||8|Susan|4|23|F|170|2015-10-01||6|John|2|21|M|172|2015-11-11||5|Jim|1|24|M|175|2016-01-15||9|Thomas|3|22|M|178|2016-06-07||3|Henry|2|23|M|185|2015-05-31|+----+--------+---------+------+------+--------+------------+10rowsinset(0.08sec)

        由结果可以看到,MySQL 对查询的 height 字段的数据按数值的大小进行了升序排序。

        多字段排序

        下面通过一个具体的实例来说明当 ORDER BY 指定多个字段时,MySQL 如何对查询结果进行排序。

        例 2

        查询 tb_students_info 表中的 name 和 height 字段,先按 height 排序,再按 name 排序,SQL 语句和运行结果如下。

        mysql>SELECTname,heightFROMtb_students_infoORDERBYheight,name;+--------+--------+|name|height|+--------+--------+|Green|158||Dany|160||Jane|162||Lily|165||Tom|165||Susan|170||John|172||Jim|175||Thomas|178||Henry|185|+--------+--------+10rowsinset(0.09sec)

        注意:在对多个字段进行排序时,排序的第一个字段必须有相同的值,才会对第二个字段进行排序。如果第一个字段数据中所有的值都是唯一的,MySQL 将不再对第二个字段进行排序。

        默认情况下,查询数据按字母升序进行排序(A~Z),但数据的排序并不仅限于此,还可以使用 ORDER BY 中的 DESC 对查询结果进行降序排序(Z~A)。

        例 3

        查询 tb_students_info 表,先按 height 降序排序,再按 name 升序排序,SQL 语句和运行结果如下。

        mysql>SELECTname,heightFROMtb_student_infoORDERBYheightDESC,nameASC;+--------+--------+|name|height|+--------+--------+|Henry|185||Thomas|178||Jim|175||John|172||Susan|170||Lily|165||Tom|165||Jane|162||Dany|160||Green|158|+--------+--------+10rowsinset(0.00sec)

        DESC 关键字只对前面的列进行降序排列,在这里只对 height 字段进行降序。因此,height 按降序排序,而 name 仍按升序排序。如果想在多个列上进行降序排序,必须对每个列指定 DESC 关键字。

    mysql如何实现查询并排序.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mysql
    ADADAD