logo

SQL ORDER EFTER DATUM

  • ORDER BY är en sats i SQL som används med SELECT-frågan för att hämta posterna i stigande eller fallande ordning från en tabell.
  • Precis som vi sorterar heltal och strängvärden lagrade i kolumnen i tabellerna, på samma sätt kan vi sortera datumen lagrade i SQL-tabellens kolumn.
  • Alla poster kommer som standard att sorteras i stigande ordning. För att sortera posterna i fallande ordning används nyckelordet DESC.

Låt oss se några praktiska exempel för att förstå detta koncept tydligare. Vi kommer att använda MySQL-databasen för att skriva alla frågor.

Tänk på att vi har skapat en tabell som heter anställda i MySQL-databasen med följande data:

ID namn Lön Inträdesdatum DOB
1 Rohit More 50 000 2020-02-08 1991-01-28 18:06:08
2 Kunal Mohit 34 000 2021-01-01 1990-05-15 19:10:00
3 Saurabh Jha 61 000 2015-05-01 1983-02-20 12:18:45
4 Anant Desai 59 000 2018-08-27 1978-06-29 15:45:13
5 Krishna Sharma 48 000 2010-10-23 1999-03-21 02:14:56
6 Bhavesh Jain 37 000 2021-07-03 1998-08-02 13:00:01

Exempel 1:

Skriv en fråga för att visa alla uppgifter om anställda ordnade i stigande ordning efter deras födelsedatum.

Fråga:

 mysql> SELECT *FROM employees ORDER BY DOB; 

Eftersom vi ville sortera posterna i stigande ordning efter födelsedatum för anställda, så vi har tillämpat ORDER BY-satsen på kolumnen 'DOB'.

Du får följande utdata:

ID namn Lön Inträdesdatum DOB
4 Anant Desai 59 000 2018-08-27 1978-06-29 15:45:13
3 Saurabh Jha 61 000 2015-05-01 1983-02-20 12:18:45
2 Kunal Mohit 34 000 2021-01-01 1990-05-15 19:10:00
1 Rohit More 50 000 2020-02-08 1991-01-28 18:06:08
6 Bhavesh Jain 37 000 2021-07-03 1998-08-02 13:00:01
5 Krishna Sharma 48 000 2010-10-23 1999-03-21 02:14:56

Resultaten från ovanstående fråga visar att posterna visas i stigande ordning för DOB.

Exempel 2:

alfabet med siffror

Skriv en fråga för att visa alla uppgifter om anställda ordnade i fallande ordning efter deras anslutningsdatum.

Fråga:

 mysql> SELECT *FROM employees ORDER BY Joining_Date DESC; 

Eftersom vi ville sortera posterna i fallande ordning efter anslutningsdatumet för anställda, så har vi tillämpat ORDER BY-satsen med nyckelordet DESC i kolumnen 'Joining_Date'.

Du får följande utdata:

ID namn Lön Inträdesdatum DOB
6 Bhavesh Jain 37 000 2021-07-03 1998-08-02 13:00:01
2 Kunal Mohit 34 000 2021-01-01 1990-05-15 19:10:00
1 Rohit More 50 000 2020-02-08 1991-01-28 18:06:08
4 Anant Desai 59 000 2018-08-27 1978-06-29 15:45:13
3 Saurabh Jha 61 000 2015-05-01 1983-02-20 12:18:45
5 Krishna Sharma 48 000 2010-10-23 1999-03-21 02:14:56

Resultaten från ovanstående fråga visar att posterna visas i fallande ordning på anslutningsdatumen.

Exempel 3:

Skriv en fråga för att visa alla uppgifter om anställda ordnade i stigande ordning efter deras födelseår.

Fråga:

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

Eftersom vi ville sortera posterna i stigande ordning efter de anställdas födelseår, så har vi tillämpat ORDER BY-satsen. DATE_FORMAT ()-funktionen tillämpas på kolumnen DOB med parametern '%Y' för att bara extrahera året från 'DOB'.

Du får följande utdata:

ID namn Lön Inträdesdatum Födelseår
4 Anant Desai 59 000 2018-08-27 1978
3 Saurabh Jha 61 000 2015-05-01 1983
2 Kunal Mohit 34 000 2021-01-01 1990
1 Rohit More 50 000 2020-02-08 1991
6 Bhavesh Jain 37 000 2021-07-03 1998
5 Krishna Sharma 48 000 2010-10-23 1999

Resultaten från ovanstående fråga visar att posterna visas i stigande ordning för den anställdes födelseår.

Exempel 4:

Skriv en fråga för att visa alla uppgifter om anställda ordnade i fallande ordning efter deras födelsetimme.

Fråga:

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

Eftersom vi ville sortera posterna i fallande ordning efter födelsetimmen för anställda, så har vi tillämpat ORDER BY-satsen med nyckelordet DESC. DATE_FORMAT ()-funktionen tillämpas på kolumnen DOB med parametern '%H' för att bara extrahera födelsetimmen från kolumnen 'DOB'.

Du får följande utdata:

ID namn Lön Inträdesdatum Hour_Of_Birth
2 Kunal Mohit 34 000 2021-01-01 19
1 Rohit More 50 000 2020-02-08 18
4 Anant Desai 59 000 2018-08-27 femton
6 Bhavesh Jain 37 000 2021-07-03 13
3 Saurabh Jha 61 000 2015-05-01 12
5 Krishna Sharma 48 000 2010-10-23 02

Resultaten från ovanstående fråga visar att posterna visas i fallande ordning på den anställdes födelsetimme.

Exempel 5:

Skriv en fråga för att visa alla uppgifter om anställda ordnade i stigande ordning efter deras anslutningsår.

Fråga:

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

Eftersom vi ville sortera posterna i stigande ordning efter anslutningsåret för anställda, så har vi tillämpat ORDER BY-klausulen. DATE_FORMAT ()-funktionen tillämpas på kolumnen Joining_Date med parametern '%Y' för att endast extrahera året från 'Joining_Date'.

Du får följande utdata:

ID namn Lön Year_of_Joining DOB
5 Krishna Sharma 48 000 2010 1999-03-21 02:14:56
3 Saurabh Jha 61 000 2015 1983-02-20 12:18:45
4 Anant Desai 59 000 2018 1978-06-29 15:45:13
1 Rohit More 50 000 2020 1991-01-28 18:06:08
2 Kunal Mohit 34 000 2021 1990-05-15 19:10:00
6 Bhavesh Jain 37 000 2021 1998-08-02 13:00:01

Resultaten från ovanstående fråga visar att posterna visas i stigande ordning för anställningsåret för anställda.

Exempel 6:

Skriv en fråga för att visa alla uppgifter om anställda ordnade i fallande ordning på anslutningsdagen för anställda.

Fråga:

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

Eftersom vi ville sortera posterna i fallande ordning på anslutningsdagen för anställda, så har vi tillämpat ORDER BY-satsen med nyckelordet DESC. Funktionen DAY () tillämpas på kolumnen 'Anslutningsdatum' för att bara extrahera dagen för anslutning från Anslutningsdatum.

Du får följande utdata:

ID namn Lön Day_Of_Joining DOB
4 Anant Desai 59 000 27 1978-06-29 15:45:13
5 Krishna Sharma 48 000 23 1999-03-21 02:14:56
1 Rohit More 50 000 8 1991-01-28 18:06:08
6 Bhavesh Jain 37 000 3 1998-08-02 13:00:01
2 Kunal Mohit 34 000 1 1990-05-15 19:10:00
3 Saurabh Jha 61 000 1 1983-02-20 12:18:45

Resultaten från ovanstående fråga visar att posterna visas i fallande ordning på anslutningsdagen för anställda.

sql välj som

Exempel 7:

Skriv en fråga för att visa alla uppgifter om anställda ordnade i stigande ordning efter de anställdas födelsedag.

Fråga:

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

Eftersom vi ville sortera posterna i stigande ordning efter de anställdas födelsedag, så har vi tillämpat ORDER BY-klausulen. DAY ()-funktionen används på kolumnen 'DOB' för att extrahera endast födelsedagen från DOB.

Du får följande utdata:

ID namn Lön Year_of_Joining Födelsedag
6 Bhavesh Jain 37 000 2021-07-03 2
2 Kunal Mohit 34 000 2021-01-01 femton
3 Saurabh Jha 61 000 2015-05-01 tjugo
5 Krishna Sharma 48 000 2010-10-23 tjugoett
1 Rohit More 50 000 2020-02-08 28
4 Anant Desai 59 000 2018-08-27 29

Resultaten från ovanstående fråga visar att posterna visas i stigande ordning på den anställdes födelsedag.

Exempel 8:

Skriv en fråga för att visa alla uppgifter om anställda ordnade i stigande ordning efter den anställdes födelsemånad.

Fråga:

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

ID namn Lön Inträdesdatum DOB
1 Rohit More 50 000 2020-02-08 1991-01-28 18:06:08
3 Saurabh Jha 61 000 2015-05-01 1983-02-20 12:18:45
5 Krishna Sharma 48 000 2010-10-23 1999-03-21 02:14:56
2 Kunal Mohit 34 000 2021-01-01 1990-05-15 19:10:00
4 Anant Desai 59 000 2018-08-27 1978-06-29 15:45:13
6 Bhavesh Jain 37 000 2021-07-03 1998-08-02 13:00:01

Resultaten från ovanstående fråga visar att posterna visas i stigande ordning för den anställdes födelsemånad.

Exempel 9:

Skriv en fråga för att visa alla uppgifter om anställda ordnade i stigande ordning efter den anställdes månad då anställde började.

Fråga:

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

Eftersom vi ville sortera posterna i stigande ordning för anslutningsmånaden för anställda, så har vi tillämpat ORDER BY-klausulen. MONTH ()-funktionen tillämpas på kolumnen 'Anslutningsdatum' för att endast extrahera anslutningsmånaden från Anslutningsdatum.

Du får följande utdata:

ID namn Lön Inträdesdatum DOB
2 Kunal Mohit 34 000 2021-01-01 1990-05-15 19:10:00
1 Rohit More 50 000 2020-02-08 1991-01-28 18:06:08
3 Saurabh Jha 61 000 2015-05-01 1983-02-20 12:18:45
6 Bhavesh Jain 37 000 2021-07-03 1998-08-02 13:00:01
4 Anant Desai 59 000 2018-08-27 1978-06-29 15:45:13
5 Krishna Sharma 48 000 2010-10-23 1999-03-21 02:14:56

Resultaten som erhålls från ovanstående fråga visar att posterna visas i stigande ordning för den anställdes månad då anställdes.