Maison >base de données >tutoriel mysql >Comment implémenter une requête ascendante dans MySQL

Comment implémenter une requête ascendante dans MySQL

青灯夜游
青灯夜游original
2022-02-17 17:08:2512929parcourir

Dans MySQL, vous pouvez utiliser l'instruction "SELECT" et le mot-clé "ORDER BY" pour implémenter une requête ascendante, la syntaxe est "SELECT {*|field column name} FROM table name [WHERE condition] GROUP BY field name ASC ; ".

Comment implémenter une requête ascendante dans MySQL

L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.

Dans MySQL, vous pouvez utiliser l'instruction "SELECT" et le mot-clé "ORDER BY" pour implémenter une requête ascendante.

L'instruction SELECT est utilisée pour interroger des données et le mot-clé ORDER BY est principalement utilisé pour trier les données dans les résultats de la requête dans un certain ordre.

Grammaire de base :

SELECT {*|字段列名} FROM 表名 [WHERE 条件] GROUP BY 字段名 [ASC|DESC];

La grammaire est expliquée ci-dessous.

  • Nom du champ : Indique le nom du champ à trier. S'il y a plusieurs champs, séparez-les par des virgules.

  • ASC|DESC : ASC signifie que les champs sont triés par ordre croissant ; DESC signifie que les champs sont triés par ordre décroissant. ASC est la valeur par défaut.

Vous devez faire attention aux aspects suivants lorsque vous utilisez le mot-clé ORDER BY :

  • Le mot-clé ORDER BY peut être suivi d'une sous-requête (les sous-requêtes seront expliquées en détail dans les didacticiels ultérieurs, apprenez-le simplement ici) .

  • Lorsqu'il y a une valeur nulle dans le champ trié, ORDER BY traitera la valeur nulle comme la valeur minimale.

  • ORDER BY Lors de la spécification de plusieurs champs à trier, MySQL triera de gauche à droite selon l'ordre des champs.

Tri de champ unique

Ce qui suit utilise un exemple spécifique pour illustrer comment MySQL trie les résultats de la requête lorsque ORDER BY spécifie un seul champ.

Exemple 1

Ce qui suit interroge tous les enregistrements de la table tb_students_info et trie le champ de hauteur. L'instruction SQL et les résultats d'exécution sont les suivants.

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)

Comme vous pouvez le voir sur les résultats, MySQL trie les données dans le champ hauteur de la requête par ordre croissant en fonction de la taille de la valeur.

Tri multi-champs

Ce qui suit utilise un exemple spécifique pour illustrer comment MySQL trie les résultats de la requête lorsque ORDER BY spécifie plusieurs champs.

Exemple 2

Interrogez les champs nom et hauteur dans la table tb_students_info, triez d'abord par hauteur, puis par nom. L'instruction SQL et les résultats d'exécution sont les suivants.

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)

Remarque : lors du tri de plusieurs champs, le premier champ à trier doit avoir la même valeur avant que le deuxième champ ne soit trié. Si toutes les valeurs des données du premier champ sont uniques, MySQL ne triera plus le deuxième champ.

Par défaut, les données de la requête sont triées par ordre alphabétique croissant (A~Z), mais le tri des données ne se limite pas à cela. Vous pouvez également utiliser DESC dans ORDER BY pour trier les résultats de la requête par ordre décroissant (Z~. UN).

Exemple 3

Interrogez la table tb_students_info, triez d'abord par hauteur dans l'ordre décroissant, puis par nom dans l'ordre croissant. L'instruction SQL et les résultats d'exécution sont les suivants. Le mot-clé

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 trie uniquement les colonnes précédentes par ordre décroissant, ici seul le champ hauteur est trié par ordre décroissant. Par conséquent, la hauteur est triée par ordre décroissant, tandis que le nom est toujours trié par ordre croissant. Si vous souhaitez trier par ordre décroissant sur plusieurs colonnes, vous devez spécifier le mot-clé DESC pour chaque colonne.

【Recommandation associée : tutoriel vidéo mysql

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn