Home>Article>Database> How to implement query and sorting in mysql

How to implement query and sorting in mysql

青灯夜游
青灯夜游 Original
2021-12-03 18:36:34 16722browse

In mysql, you can use the SELECT statement and the "ORDER BY" keyword to implement the query sorting function. The syntax is "SELECT * FROM data table name ORDER BY field name [ASC|DESC]"; if you set "ASC ” can be sorted in ascending order, and “DESC” can be sorted in descending order.

How to implement query and sorting in mysql

The operating environment of this tutorial: windows7 system, mysql8 version, Dell G3 computer.

In mysql, you can use theSELECTstatement and the "ORDER BY" keyword to achieve the query sorting effect.

SELECTstatement can query data, and theORDER BYkeyword can sort the data in the query results in a certain order

Grammar:

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

The syntax is explained below.

  • Field name: Indicates the name of the field that needs to be sorted. If there are multiple fields, separate them with commas.

  • ASC|DESC:ASCmeans the fields are sorted in ascending order;DESCmeans the fields are sorted in descending order. Among them,ASCis the default value.

When using theORDER BYkeyword, you should pay attention to the following aspects:

  • ORDER BYKeywords can be followed by subqueries.

  • When there is a null value in the sorted field,ORDER BYwill treat the null value as the minimum value.

  • ORDER BYWhen specifying multiple fields for sorting, MySQL will sort from left to right according to the order of the fields.

Single field sorting

The following uses a specific example to illustrate that when ORDER BY specifies a single field, MySQL How to sort query results.

Example 1

The following queries all records in the tb_students_info table and sorts the height field. The SQL statement and running results are as follows.

mysql> SELECT * FROM tb_students_info ORDER BY height; +----+--------+---------+------+------+--------+------------+ | 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 | +----+--------+---------+------+------+--------+------------+ 10 rows in set (0.08 sec)

As you can see from the results, MySQL sorts the data in the height field of the query in ascending order according to the size of the value.

Multi-field sorting

The following uses a specific example to illustrate how MySQL performs query results when ORDER BY specifies multiple fields. Sort.

Example 2

Query the name and height fields in the tb_students_info table, sort by height first, and then by name. The SQL statement and running results are as follows.

mysql> SELECT name,height FROM tb_students_info ORDER BY height,name; +--------+--------+ | name | height | +--------+--------+ | Green | 158 | | Dany | 160 | | Jane | 162 | | Lily | 165 | | Tom | 165 | | Susan | 170 | | John | 172 | | Jim | 175 | | Thomas | 178 | | Henry | 185 | +--------+--------+ 10 rows in set (0.09 sec)

Note: When sorting multiple fields, the first field to be sorted must have the same value before the second field is sorted. If all values in the first field's data are unique, MySQL will no longer sort the second field.

By default, the query data is sorted in ascending alphabetical order (A~Z), but the sorting of data is not limited to this. You can also use DESC in ORDER BY to sort the query results in descending order (Z~A ).

Example 3

Query the tb_students_info table, first sort by height in descending order, and then by name in ascending order. The SQL statement and running results are as follows.

mysql> SELECT name,height FROM tb_student_info ORDER BY height DESC,name ASC; +--------+--------+ | name | height | +--------+--------+ | Henry | 185 | | Thomas | 178 | | Jim | 175 | | John | 172 | | Susan | 170 | | Lily | 165 | | Tom | 165 | | Jane | 162 | | Dany | 160 | | Green | 158 | +--------+--------+ 10 rows in set (0.00 sec)

DESC keyword only sorts the previous columns in descending order, here only the height field is sorted in descending order. Therefore, height is sorted in descending order, while name is still sorted in ascending order. If you want to sort in descending order on multiple columns, you must specify the DESC keyword for each column.

[Related recommendations:mysql video tutorial]

The above is the detailed content of How to implement query and sorting in mysql. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn