Rechercher dans le manuel MySQL

3.3.4.4 Sorting Rows

You may have noticed in the preceding examples that the result rows are displayed in no particular order. It is often easier to examine query output when the rows are sorted in some meaningful way. To sort a result, use an ORDER BY clause.

Here are animal birthdays, sorted by date:

  1. mysql> SELECT name, birth FROM pet ORDER BY birth;
  2. +----------+------------+
  3. | name     | birth      |
  4. +----------+------------+
  5. | Buffy    | 1989-05-13 |
  6. | Bowser   | 1989-08-31 |
  7. | Fang     | 1990-08-27 |
  8. | Fluffy   | 1993-02-04 |
  9. | Claws    | 1994-03-17 |
  10. | Slim     | 1996-04-29 |
  11. | Whistler | 1997-12-09 |
  12. | Chirpy   | 1998-09-11 |
  13. | Puffball | 1999-03-30 |
  14. +----------+------------+

On character type columns, sorting—like all other comparison operations—is normally performed in a case-insensitive fashion. This means that the order is undefined for columns that are identical except for their case. You can force a case-sensitive sort for a column by using BINARY like so: ORDER BY BINARY col_name.

The default sort order is ascending, with smallest values first. To sort in reverse (descending) order, add the DESC keyword to the name of the column you are sorting by:

  1. mysql> SELECT name, birth FROM pet ORDER BY birth DESC;
  2. +----------+------------+
  3. | name     | birth      |
  4. +----------+------------+
  5. | Puffball | 1999-03-30 |
  6. | Chirpy   | 1998-09-11 |
  7. | Whistler | 1997-12-09 |
  8. | Slim     | 1996-04-29 |
  9. | Claws    | 1994-03-17 |
  10. | Fluffy   | 1993-02-04 |
  11. | Fang     | 1990-08-27 |
  12. | Bowser   | 1989-08-31 |
  13. | Buffy    | 1989-05-13 |
  14. +----------+------------+

You can sort on multiple columns, and you can sort different columns in different directions. For example, to sort by type of animal in ascending order, then by birth date within animal type in descending order (youngest animals first), use the following query:

  1. mysql> SELECT name, species, birth FROM pet
  2.        ORDER BY species, birth DESC;
  3. +----------+---------+------------+
  4. | name     | species | birth      |
  5. +----------+---------+------------+
  6. | Chirpy   | bird    | 1998-09-11 |
  7. | Whistler | bird    | 1997-12-09 |
  8. | Claws    | cat     | 1994-03-17 |
  9. | Fluffy   | cat     | 1993-02-04 |
  10. | Fang     | dog     | 1990-08-27 |
  11. | Bowser   | dog     | 1989-08-31 |
  12. | Buffy    | dog     | 1989-05-13 |
  13. | Puffball | hamster | 1999-03-30 |
  14. | Slim     | snake   | 1996-04-29 |
  15. +----------+---------+------------+

The DESC keyword applies only to the column name immediately preceding it (birth); it does not affect the species column sort order.


Rechercher dans le manuel MySQL

Traduction non disponible

Le manuel MySQL n'est pas encore traduit en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.

Document créé le 26/06/2006, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/mysql-rf-sorting-rows.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :en Manuel MySQL : https://dev.mysql.com/

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut