logo

ORDEN SQL POR FECHA

  • ORDER BY es una cláusula en SQL que se utiliza con la consulta SELECT para recuperar los registros en orden ascendente o descendente de una tabla.
  • Así como ordenamos los valores enteros y de cadena almacenados en la columna de las tablas, de manera similar, podemos ordenar las fechas almacenadas en la columna de la tabla SQL.
  • Todos los registros se ordenarán, de forma predeterminada, en orden ascendente. Para ordenar los registros en orden descendente, se utiliza la palabra clave DESC.

Veamos algunos ejemplos prácticos para entender más claramente este concepto. Usaremos la base de datos MySQL para escribir todas las consultas.

Considere que hemos creado una tabla denominada empleados en la base de datos MySQL con los siguientes datos:

IDENTIFICACIÓN Nombre Salario Dia de ingreso fecha de nacimiento
1 RohitMás 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 jainista 37000 2021-07-03 1998-08-02 13:00:01

Ejemplo 1:

Escriba una consulta para mostrar todos los detalles de los empleados ordenados en orden ascendente de su fecha de nacimiento.

Consulta:

 mysql> SELECT *FROM employees ORDER BY DOB; 

Como queríamos ordenar los registros en orden ascendente según la fecha de nacimiento de los empleados, hemos aplicado la cláusula ORDER BY en la columna 'DOB'.

Obtendrá el siguiente resultado:

ventajas de la electricidad
IDENTIFICACIÓN Nombre Salario Dia de ingreso fecha de nacimiento
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 RohitMás 50000 2020-02-08 1991-01-28 18:06:08
6 bhavesh jainista 37000 2021-07-03 1998-08-02 13:00:01
5 Krishna Sharma 48000 2010-10-23 1999-03-21 02:14:56

Los resultados obtenidos de la consulta anterior muestran que los registros se muestran según el orden ascendente de la fecha de nacimiento.

Ejemplo 2:

Escriba una consulta para mostrar todos los detalles de los empleados ordenados en orden descendente de sus fechas de incorporación.

Consulta:

 mysql> SELECT *FROM employees ORDER BY Joining_Date DESC; 

Como queríamos ordenar los registros en orden descendente de la fecha de incorporación de los empleados, hemos aplicado la cláusula ORDER BY con la palabra clave DESC en la columna 'Fecha_de incorporación'.

Obtendrá el siguiente resultado:

IDENTIFICACIÓN Nombre Salario Dia de ingreso fecha de nacimiento
6 bhavesh jainista 37000 2021-07-03 1998-08-02 13:00:01
2 Kunal Mohit 34000 2021-01-01 1990-05-15 19:10:00
1 RohitMás 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

Los resultados obtenidos de la consulta anterior muestran que los registros se muestran según el orden descendente de las fechas de incorporación.

Ejemplo 3:

Escriba una consulta para mostrar todos los detalles de los empleados ordenados en orden ascendente según su año de nacimiento.

Consulta:

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

Como queríamos ordenar los registros en orden ascendente según el año de nacimiento de los empleados, hemos aplicado la cláusula ORDER BY. La función DATE_FORMAT () se aplica en la columna DOB con el parámetro '%Y' para extraer solo el año de 'DOB'.

Obtendrá el siguiente resultado:

IDENTIFICACIÓN Nombre Salario Dia de ingreso Año de nacimiento
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 RohitMás 50000 2020-02-08 1991
6 bhavesh jainista 37000 2021-07-03 1998
5 Krishna Sharma 48000 2010-10-23 1999

Los resultados obtenidos de la consulta anterior muestran que los registros se muestran según el orden ascendente del año de nacimiento del empleado.

recorrido en orden del árbol binario

Ejemplo 4:

Escriba una consulta para mostrar todos los detalles de los empleados ordenados en orden descendente de su hora de nacimiento.

Consulta:

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

Como queríamos ordenar los registros en orden descendente de la hora de nacimiento de los empleados, hemos aplicado la cláusula ORDER BY con la palabra clave DESC. La función DATE_FORMAT () se aplica en la columna DOB con el parámetro '%H' para extraer solo la hora de nacimiento de la columna'DOB'.

Obtendrá el siguiente resultado:

IDENTIFICACIÓN Nombre Salario Dia de ingreso Hora_de_nacimiento
2 Kunal Mohit 34000 2021-01-01 19
1 RohitMás 50000 2020-02-08 18
4 Anant Desai 59000 2018-08-27 15
6 bhavesh jainista 37000 2021-07-03 13
3 Saurabh Jha 61000 2015-05-01 12
5 Krishna Sharma 48000 2010-10-23 02

Los resultados obtenidos de la consulta anterior muestran que los registros se muestran según el orden descendente de la hora de nacimiento del empleado.

Ejemplo 5:

Escriba una consulta para mostrar todos los detalles de los empleados ordenados en orden ascendente según su año de incorporación.

Consulta:

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

Como queríamos ordenar los registros en orden ascendente del año de incorporación de los empleados, hemos aplicado la cláusula ORDER BY. La función DATE_FORMAT () se aplica en la columna Joining_Date con el parámetro '%Y' para extraer solo el año de 'Joining_Date'.

Obtendrá el siguiente resultado:

tamaño del texto de látex
IDENTIFICACIÓN Nombre Salario Año_de_unión fecha de nacimiento
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 RohitMás 50000 2020 1991-01-28 18:06:08
2 Kunal Mohit 34000 2021 1990-05-15 19:10:00
6 bhavesh jainista 37000 2021 1998-08-02 13:00:01

Los resultados obtenidos de la consulta anterior muestran que los registros se muestran según el orden ascendente del año de incorporación de los empleados.

Ejemplo 6:

Escriba una consulta para mostrar todos los detalles de los empleados ordenados en orden descendente del día de incorporación de los empleados.

Consulta:

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

Como queríamos ordenar los registros en orden descendente del día de incorporación de los empleados, hemos aplicado la cláusula ORDER BY con la palabra clave DESC. La función DÍA () se aplica en la columna 'Joining_Date' para extraer solo el día de unión de Joining_Date.

Obtendrá el siguiente resultado:

IDENTIFICACIÓN Nombre Salario Día_de_unión fecha de nacimiento
4 Anant Desai 59000 27 1978-06-29 15:45:13
5 Krishna Sharma 48000 23 1999-03-21 02:14:56
1 RohitMás 50000 8 1991-01-28 18:06:08
6 bhavesh jainista 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

Los resultados obtenidos de la consulta anterior muestran que los registros se muestran según el orden descendente del día de incorporación de los empleados.

Ejemplo 7:

Escriba una consulta para mostrar todos los detalles de los empleados ordenados en orden ascendente según el día de nacimiento de los empleados.

Consulta:

comunicación analógica
 mysql> SELECT ID, Name, Salary, Joining_Date, DAY (DOB) AS Day_Of_Birth FROM employees ORDER BY DAY (DOB); 

Como queríamos ordenar los registros en orden ascendente según el día de nacimiento de los empleados, hemos aplicado la cláusula ORDER BY. La función DÍA () se aplica en la columna 'DOB' para extraer solo el día de nacimiento de la fecha de nacimiento.

Obtendrá el siguiente resultado:

IDENTIFICACIÓN Nombre Salario Año_de_unión Día de nacimiento
6 bhavesh jainista 37000 2021-07-03 2
2 Kunal Mohit 34000 2021-01-01 15
3 Saurabh Jha 61000 2015-05-01 20
5 Krishna Sharma 48000 2010-10-23 21
1 RohitMás 50000 2020-02-08 28
4 Anant Desai 59000 2018-08-27 29

Los resultados obtenidos de la consulta anterior muestran que los registros se muestran según el orden ascendente del día de nacimiento del empleado.

Ejemplo 8:

Escriba una consulta para mostrar todos los detalles de los empleados ordenados en orden ascendente según el mes de nacimiento del empleado.

Consulta:

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

IDENTIFICACIÓN Nombre Salario Dia de ingreso fecha de nacimiento
1 RohitMás 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 jainista 37000 2021-07-03 1998-08-02 13:00:01

Los resultados obtenidos de la consulta anterior muestran que los registros se muestran según el orden ascendente del mes de nacimiento del empleado.

Ejemplo 9:

Escriba una consulta para mostrar todos los detalles de los empleados ordenados en orden ascendente del mes de incorporación del empleado.

Consulta:

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

Como queríamos ordenar los registros en orden ascendente del mes de incorporación de los empleados, hemos aplicado la cláusula ORDER BY. La función MES () se aplica en la columna 'Joining_Date' para extraer solo el mes de incorporación de Joining_Date.

Obtendrá el siguiente resultado:

IDENTIFICACIÓN Nombre Salario Dia de ingreso fecha de nacimiento
2 Kunal Mohit 34000 2021-01-01 1990-05-15 19:10:00
1 RohitMás 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 jainista 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

Los resultados obtenidos de la consulta anterior muestran que los registros se muestran según el orden ascendente del mes de incorporación del empleado.