logo

ORDRE SQL PAR DATE

  • ORDER BY est une clause SQL qui est utilisée avec la requête SELECT pour récupérer les enregistrements par ordre croissant ou décroissant d'une table.
  • Tout comme nous trions les valeurs entières et les valeurs de chaîne stockées dans la colonne des tables, de la même manière, nous pouvons trier les dates stockées dans la colonne de la table SQL.
  • Tous les enregistrements seront, par défaut, triés par ordre croissant. Pour trier les enregistrements par ordre décroissant, le mot-clé DESC est utilisé.

Voyons quelques exemples pratiques pour mieux comprendre ce concept. Nous utiliserons la base de données MySQL pour écrire toutes les requêtes.

Considérons que nous avons créé une table nommée employés dans la base de données MySQL avec les données suivantes :

IDENTIFIANT Nom Salaire Date d'inscription Date de naissance
1 Plus 50000 2020-02-08 1991-01-28 18:06:08
2 Kunal Mohit 34000 2021-01-01 1990-05-15 19:10:00
3 Saurabh Jha 61000 2015-05-01 1983-02-20 12:18:45
4 Anant Desai 59000 2018-08-27 1978-06-29 15:45:13
5 Krishna Sharma 48000 2010-10-23 1999-03-21 02:14:56
6 Bhavesh Jain 37000 2021-07-03 1998-08-02 13:00:01

Exemple 1:

Écrivez une requête pour afficher tous les détails des employés classés par ordre croissant de leur date de naissance.

Requête:

 mysql> SELECT *FROM employees ORDER BY DOB; 

Puisque nous souhaitions trier les enregistrements dans l'ordre croissant de la date de naissance des salariés, nous avons donc appliqué la clause ORDER BY sur la colonne 'DOB'.

Vous obtiendrez le résultat suivant :

IDENTIFIANT Nom Salaire Date d'inscription Date de naissance
4 Anant Desai 59000 2018-08-27 1978-06-29 15:45:13
3 Saurabh Jha 61000 2015-05-01 1983-02-20 12:18:45
2 Kunal Mohit 34000 2021-01-01 1990-05-15 19:10:00
1 Plus 50000 2020-02-08 1991-01-28 18:06:08
6 Bhavesh Jain 37000 2021-07-03 1998-08-02 13:00:01
5 Krishna Sharma 48000 2010-10-23 1999-03-21 02:14:56

Les résultats obtenus à partir de la requête ci-dessus montrent que les enregistrements sont affichés selon l'ordre croissant de la date de naissance.

Exemple 2 :

Écrivez une requête pour afficher tous les détails des employés classés par ordre décroissant de leurs dates d'arrivée.

Requête:

 mysql> SELECT *FROM employees ORDER BY Joining_Date DESC; 

Puisque nous souhaitions trier les enregistrements par ordre décroissant de date d'arrivée des salariés, nous avons donc appliqué la clause ORDER BY avec le mot clé DESC sur la colonne 'Joining_Date'.

Vous obtiendrez le résultat suivant :

IDENTIFIANT Nom Salaire Date d'inscription Date de naissance
6 Bhavesh Jain 37000 2021-07-03 1998-08-02 13:00:01
2 Kunal Mohit 34000 2021-01-01 1990-05-15 19:10:00
1 Plus 50000 2020-02-08 1991-01-28 18:06:08
4 Anant Desai 59000 2018-08-27 1978-06-29 15:45:13
3 Saurabh Jha 61000 2015-05-01 1983-02-20 12:18:45
5 Krishna Sharma 48000 2010-10-23 1999-03-21 02:14:56

Les résultats obtenus à partir de la requête ci-dessus montrent que les enregistrements sont affichés selon l'ordre décroissant des dates d'adhésion.

Exemple 3 :

Écrivez une requête pour afficher tous les détails des employés classés par ordre croissant de leur année de naissance.

Requête:

 mysql> SELECT ID, Name, Salary, Joining_Date, DATE_FORMAT (DOB, '%Y') AS Year_of_Birth FROM employees ORDER BY DATE_FORMAT (DOB, '%Y'); 

Puisque nous souhaitions trier les enregistrements par ordre croissant de l'année de naissance des salariés, nous avons donc appliqué la clause ORDER BY. La fonction DATE_FORMAT() est appliquée sur la colonne DOB avec le paramètre '%Y' pour extraire uniquement l'année de 'DOB'.

Vous obtiendrez le résultat suivant :

IDENTIFIANT Nom Salaire Date d'inscription Année de naissance
4 Anant Desai 59000 2018-08-27 1978
3 Saurabh Jha 61000 2015-05-01 1983
2 Kunal Mohit 34000 2021-01-01 1990
1 Plus 50000 2020-02-08 1991
6 Bhavesh Jain 37000 2021-07-03 1998
5 Krishna Sharma 48000 2010-10-23 1999

Les résultats obtenus à partir de la requête ci-dessus montrent que les enregistrements sont affichés selon l'ordre croissant de l'année de naissance de l'employé.

Exemple 4 :

Écrivez une requête pour afficher tous les détails des employés classés par ordre décroissant de leur heure de naissance.

Requête:

 mysql> SELECT ID, Name, Salary, Joining_Date, DATE_FORMAT (DOB, '%H') AS Hour_Of_Birth FROM employees ORDER BY DATE_FORMAT (DOB, '%H') DESC; 

Puisque nous souhaitions trier les enregistrements par ordre décroissant de l'heure de naissance des salariés, nous avons donc appliqué la clause ORDER BY avec le mot-clé DESC. La fonction DATE_FORMAT() est appliquée sur la colonne DOB avec le paramètre '%H' pour extraire uniquement l'heure de naissance de la colonne 'DOB'.

Vous obtiendrez le résultat suivant :

IDENTIFIANT Nom Salaire Date d'inscription Heure_de_naissance
2 Kunal Mohit 34000 2021-01-01 19
1 Plus 50000 2020-02-08 18
4 Anant Desai 59000 2018-08-27 quinze
6 Bhavesh Jain 37000 2021-07-03 13
3 Saurabh Jha 61000 2015-05-01 12
5 Krishna Sharma 48000 2010-10-23 02

Les résultats obtenus à partir de la requête ci-dessus montrent que les enregistrements sont affichés selon l'ordre décroissant de l'heure de naissance du salarié.

Exemple 5 :

Rédigez une requête pour afficher tous les détails des salariés classés par ordre croissant de leur année d'adhésion.

Requête:

 mysql> SELECT ID, Name, Salary, DOB, DATE_FORMAT (Joining_Date, '%Y') AS Year_Of_Joining FROM employees ORDER BY DATE_FORMAT (Joining_Date, '%Y'); 

Puisque nous souhaitions trier les enregistrements dans l'ordre croissant de l'année d'entrée des salariés, nous avons donc appliqué la clause ORDER BY. La fonction DATE_FORMAT() est appliquée sur la colonne Joining_Date avec le paramètre '%Y' pour extraire uniquement l'année de 'Joining_Date'.

Vous obtiendrez le résultat suivant :

système d'exploitation réseau
IDENTIFIANT Nom Salaire Year_Of_Joining Date de naissance
5 Krishna Sharma 48000 2010 1999-03-21 02:14:56
3 Saurabh Jha 61000 2015 1983-02-20 12:18:45
4 Anant Desai 59000 2018 1978-06-29 15:45:13
1 Plus 50000 2020 1991-01-28 18:06:08
2 Kunal Mohit 34000 2021 1990-05-15 19:10:00
6 Bhavesh Jain 37000 2021 1998-08-02 13:00:01

Les résultats obtenus à partir de la requête ci-dessus montrent que les enregistrements sont affichés selon l'ordre croissant de l'année d'entrée des salariés.

Exemple 6 :

Écrivez une requête pour afficher tous les détails des employés classés par ordre décroissant du jour d'arrivée des employés.

Requête:

 mysql> SELECT ID, Name, Salary, DAY (Joining_Date) AS Day_Of_Joining, DOB FROM employees ORDER BY DAY (Joining_Date) DESC; 

Puisque nous souhaitions trier les enregistrements dans l'ordre décroissant du jour d'arrivée des salariés, nous avons donc appliqué la clause ORDER BY avec le mot clé DESC. La fonction DAY() est appliquée sur la colonne 'Joining_Date' pour extraire uniquement le jour d'adhésion de Joining_Date.

Vous obtiendrez le résultat suivant :

IDENTIFIANT Nom Salaire Day_Of_Joining Date de naissance
4 Anant Desai 59000 27 1978-06-29 15:45:13
5 Krishna Sharma 48000 23 1999-03-21 02:14:56
1 Plus 50000 8 1991-01-28 18:06:08
6 Bhavesh Jain 37000 3 1998-08-02 13:00:01
2 Kunal Mohit 34000 1 1990-05-15 19:10:00
3 Saurabh Jha 61000 1 1983-02-20 12:18:45

Les résultats obtenus à partir de la requête ci-dessus montrent que les enregistrements sont affichés selon l'ordre décroissant du jour d'arrivée des salariés.

Exemple 7 :

Écrivez une requête pour afficher tous les détails des employés classés par ordre croissant du jour de naissance des employés.

Requête:

 mysql> SELECT ID, Name, Salary, Joining_Date, DAY (DOB) AS Day_Of_Birth FROM employees ORDER BY DAY (DOB); 

Puisque nous souhaitions trier les enregistrements par ordre croissant du jour de naissance des salariés, nous avons donc appliqué la clause ORDER BY. La fonction DAY() est appliquée sur la colonne 'DOB' pour extraire uniquement le jour de naissance de DOB.

Vous obtiendrez le résultat suivant :

IDENTIFIANT Nom Salaire Year_Of_Joining Date de naissance
6 Bhavesh Jain 37000 2021-07-03 2
2 Kunal Mohite 34000 2021-01-01 quinze
3 Saurabh Jha 61000 2015-05-01 vingt
5 Krishna Sharma 48000 2010-10-23 vingt-et-un
1 Plus 50000 2020-02-08 28
4 Anant Desai 59000 2018-08-27 29

Les résultats obtenus à partir de la requête ci-dessus montrent que les enregistrements sont affichés selon l'ordre croissant du jour de naissance de l'employé.

Exemple 8 :

Écrivez une requête pour afficher tous les détails des employés classés par ordre croissant du mois de naissance de l'employé.

Requête:

 mysql> SELECT ID, Name, Salary, Joining_Date, DOB FROM employees ORDER BY MONTH (DOB); 

IDENTIFIANT Nom Salaire Date d'inscription Date de naissance
1 Plus 50000 2020-02-08 1991-01-28 18:06:08
3 Saurabh Jha 61000 2015-05-01 1983-02-20 12:18:45
5 Krishna Sharma 48000 2010-10-23 1999-03-21 02:14:56
2 Kunal Mohit 34000 2021-01-01 1990-05-15 19:10:00
4 Anant Desai 59000 2018-08-27 1978-06-29 15:45:13
6 Bhavesh Jain 37000 2021-07-03 1998-08-02 13:00:01

Les résultats obtenus à partir de la requête ci-dessus montrent que les enregistrements sont affichés selon l'ordre croissant du mois de naissance du salarié.

Exemple 9 :

Rédigez une requête pour afficher tous les détails des employés classés par ordre croissant du mois d'arrivée de l'employé.

Requête:

 mysql> SELECT ID, Name, Salary, Joining_Date, DOB FROM employees ORDER BY MONTH (Joining_Date); 

Puisque nous souhaitions trier les enregistrements dans l'ordre croissant du mois d'arrivée des salariés, nous avons donc appliqué la clause ORDER BY. La fonction MOIS () est appliquée sur la colonne 'Joining_Date' pour extraire uniquement le mois d'adhésion de Joining_Date.

Vous obtiendrez le résultat suivant :

IDENTIFIANT Nom Salaire Date d'inscription Date de naissance
2 Kunal Mohit 34000 2021-01-01 1990-05-15 19:10:00
1 Plus 50000 2020-02-08 1991-01-28 18:06:08
3 Saurabh Jha 61000 2015-05-01 1983-02-20 12:18:45
6 Bhavesh Jain 37000 2021-07-03 1998-08-02 13:00:01
4 Anant Desai 59000 2018-08-27 1978-06-29 15:45:13
5 Krishna Sharma 48000 2010-10-23 1999-03-21 02:14:56

Les résultats obtenus à partir de la requête ci-dessus montrent que les enregistrements sont affichés selon l'ordre croissant du mois d'entrée du salarié.