- ORDER BY er en klausul i SQL som brukes med SELECT-spørring for å hente postene i stigende eller synkende rekkefølge fra en tabell.
- På samme måte som vi sorterer heltall og strengverdier som er lagret i kolonnen i tabellene, kan vi sortere datoene som er lagret i SQL-tabellens kolonne.
- Alle postene vil som standard bli sortert i stigende rekkefølge. For å sortere postene i synkende rekkefølge, brukes DESC nøkkelordet.
La oss se noen praktiske eksempler for å forstå dette konseptet klarere. Vi vil bruke MySQL-databasen for å skrive alle spørringene.
Tenk på at vi har laget en tabell kalt ansatte i MySQL-databasen med følgende data:
ID | Navn | Lønn | Blir_dato | DOB |
---|---|---|---|---|
1 | Rohit More | 50 000 | 2020-02-08 | 1991-01-28 18:06:08 |
2 | Kunal Mohit | 34000 | 2021-01-01 | 15.05.1990 19:10:00 |
3 | Saurabh Jha | 61000 | 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 |
Eksempel 1:
gjør mens loop java
Skriv en spørring for å vise alle detaljene til ansatte ordnet i stigende rekkefølge etter fødselsdatoen.
Spørsmål:
mysql> SELECT *FROM employees ORDER BY DOB;
Siden vi ønsket å sortere postene i stigende rekkefølge etter fødselsdatoen til ansatte, har vi brukt ORDER BY-klausulen på kolonnen 'DOB'.
Du vil få følgende utgang:
ID | Navn | Lønn | Blir_dato | DOB |
---|---|---|---|---|
4 | Anant Desai | 59 000 | 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 | 15.05.1990 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 |
Resultatene oppnådd fra spørringen ovenfor viser at postene vises i henhold til stigende rekkefølge av DOB.
Eksempel 2:
Skriv en spørring for å vise alle detaljene til ansatte ordnet i synkende rekkefølge etter tiltredelsesdatoene deres.
Spørsmål:
mysql> SELECT *FROM employees ORDER BY Joining_Date DESC;
Siden vi ønsket å sortere postene i synkende rekkefølge etter tiltredelsesdatoen for ansatte, har vi brukt ORDER BY-klausulen med DESC-nøkkelordet i kolonnen 'Joining_Date'.
Du vil få følgende utgang:
ID | Navn | Lønn | Blir_dato | DOB |
---|---|---|---|---|
6 | Bhavesh Jain | 37 000 | 2021-07-03 | 1998-08-02 13:00:01 |
2 | Kunal Mohit | 34000 | 2021-01-01 | 15.05.1990 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 | 61000 | 2015-05-01 | 1983-02-20 12:18:45 |
5 | Krishna Sharma | 48 000 | 2010-10-23 | 1999-03-21 02:14:56 |
Resultatene oppnådd fra spørringen ovenfor viser at postene vises i henhold til synkende rekkefølge på sammenføyningsdatoene.
Eksempel 3:
Skriv en forespørsel for å vise alle detaljene til ansatte ordnet i stigende rekkefølge etter fødselsåret.
Spørsmål:
mysql> SELECT ID, Name, Salary, Joining_Date, DATE_FORMAT (DOB, '%Y') AS Year_of_Birth FROM employees ORDER BY DATE_FORMAT (DOB, '%Y');
Siden vi ønsket å sortere postene i stigende rekkefølge etter fødselsåret til ansatte, har vi brukt ORDER BY-klausulen. DATE_FORMAT ()-funksjonen brukes på kolonnen DOB med parameteren '%Y' for å trekke ut bare året fra 'DOB'.
Du vil få følgende utgang:
ID | Navn | Lønn | Blir_dato | Fødselsår |
---|---|---|---|---|
4 | Anant Desai | 59 000 | 2018-08-27 | 1978 |
3 | Saurabh Jha | 61000 | 2015-05-01 | 1983 |
2 | Kunal Mohit | 34000 | 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 |
Resultatene oppnådd fra spørringen ovenfor viser at postene vises i henhold til stigende rekkefølge for den ansattes fødselsår.
Eksempel 4:
Skriv en forespørsel for å vise alle detaljene til ansatte ordnet i synkende rekkefølge etter fødselstimen.
Spørsmål:
mysql> SELECT ID, Name, Salary, Joining_Date, DATE_FORMAT (DOB, '%H') AS Hour_Of_Birth FROM employees ORDER BY DATE_FORMAT (DOB, '%H') DESC;
Siden vi ønsket å sortere postene i synkende rekkefølge etter fødselstimen til ansatte, har vi brukt ORDER BY-klausulen med DESC-nøkkelordet. DATE_FORMAT ()-funksjonen brukes på kolonnen DOB med parameteren '%H' for å trekke ut bare fødselstimen fra kolonnen 'DOB'.
Du vil få følgende utgang:
ID | Navn | Lønn | Blir_dato | Hour_Of_Birth |
---|---|---|---|---|
2 | Kunal Mohit | 34000 | 2021-01-01 | 19 |
1 | Rohit More | 50 000 | 2020-02-08 | 18 |
4 | Anant Desai | 59 000 | 2018-08-27 | femten |
6 | Bhavesh Jain | 37 000 | 2021-07-03 | 1. 3 |
3 | Saurabh Jha | 61000 | 2015-05-01 | 12 |
5 | Krishna Sharma | 48 000 | 2010-10-23 | 02 |
Resultatene oppnådd fra spørringen ovenfor viser at postene vises i henhold til synkende rekkefølge for den ansattes fødselstime.
nettverk og internett
Eksempel 5:
Skriv en forespørsel for å vise alle detaljene til ansatte ordnet i stigende rekkefølge etter året de ble med.
Spørsmål:
mysql> SELECT ID, Name, Salary, DOB, DATE_FORMAT (Joining_Date, '%Y') AS Year_Of_Joining FROM employees ORDER BY DATE_FORMAT (Joining_Date, '%Y');
Siden vi ønsket å sortere postene i stigende rekkefølge av tiltredelsesåret for ansatte, har vi brukt ORDER BY-klausulen. DATE_FORMAT ()-funksjonen brukes på kolonnen Joining_Date med parameteren '%Y' for å trekke ut bare året fra 'Joining_Date'.
Du vil få følgende utgang:
ID | Navn | Lønn | År_for_Bli med | DOB |
---|---|---|---|---|
5 | Krishna Sharma | 48 000 | 2010 | 1999-03-21 02:14:56 |
3 | Saurabh Jha | 61000 | 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 | 34000 | 2021 | 15.05.1990 19:10:00 |
6 | Bhavesh Jain | 37 000 | 2021 | 1998-08-02 13:00:01 |
Resultatene oppnådd fra spørringen ovenfor viser at postene vises i henhold til den stigende rekkefølgen for tiltredelsesåret for ansatte.
Eksempel 6:
Skriv en spørring for å vise alle detaljene til ansatte ordnet i synkende rekkefølge på tiltredelsesdagen for ansatte.
Spørsmål:
mysql> SELECT ID, Name, Salary, DAY (Joining_Date) AS Day_Of_Joining, DOB FROM employees ORDER BY DAY (Joining_Date) DESC;
Siden vi ønsket å sortere postene i synkende rekkefølge på tiltredelsesdagen for ansatte, har vi brukt ORDER BY-klausulen med DESC-nøkkelordet. DAY ()-funksjonen brukes på kolonnen 'Bislutningsdato' for å trekke ut bare dagen for tilmelding fra Tilmeldingsdato.
Du vil få følgende utgang:
ID | Navn | Lønn | 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 | 34000 | 1 | 15.05.1990 19:10:00 |
3 | Saurabh Jha | 61000 | 1 | 1983-02-20 12:18:45 |
Resultatene oppnådd fra spørringen ovenfor viser at postene vises i henhold til synkende rekkefølge på tiltredelsesdagen for ansatte.
Eksempel 7:
Skriv en spørring for å vise alle detaljer om ansatte ordnet i stigende rekkefølge etter fødselsdagen til ansatte.
Spørsmål:
mysql> SELECT ID, Name, Salary, Joining_Date, DAY (DOB) AS Day_Of_Birth FROM employees ORDER BY DAY (DOB);
Siden vi ønsket å sortere postene i stigende rekkefølge etter fødselsdagen til ansatte, har vi brukt ORDER BY-klausulen. DAY ()-funksjonen brukes på kolonnen 'DOB' for å trekke ut bare fødselsdagen fra DOB.
Du vil få følgende utgang:
ID | Navn | Lønn | År_for_Bli med | Fødselsdato |
---|---|---|---|---|
6 | Bhavesh Jain | 37 000 | 2021-07-03 | 2 |
2 | Kunal Mohit | 34000 | 2021-01-01 | femten |
3 | Saurabh Jha | 61000 | 2015-05-01 | tjue |
5 | Krishna Sharma | 48 000 | 2010-10-23 | tjueen |
1 | Rohit More | 50 000 | 2020-02-08 | 28 |
4 | Anant Desai | 59 000 | 2018-08-27 | 29 |
Resultatene oppnådd fra spørringen ovenfor viser at postene vises i henhold til stigende rekkefølge på den ansattes fødselsdag.
Eksempel 8:
Skriv en spørring for å vise alle detaljene til ansatte ordnet i stigende rekkefølge etter den ansattes fødselsmåned.
Spørsmål:
mysql> SELECT ID, Name, Salary, Joining_Date, DOB FROM employees ORDER BY MONTH (DOB);
ID | Navn | Lønn | Blir_dato | DOB |
---|---|---|---|---|
1 | Rohit More | 50 000 | 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 | 48 000 | 2010-10-23 | 1999-03-21 02:14:56 |
2 | Kunal Mohit | 34000 | 2021-01-01 | 15.05.1990 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 |
Resultatene oppnådd fra spørringen ovenfor viser at postene vises i henhold til stigende rekkefølge for den ansattes fødselsmåned.
Eksempel 9:
Skriv en forespørsel for å vise alle detaljene til ansatte ordnet i stigende rekkefølge etter den ansattes måned for tiltredelse.
Spørsmål:
mysql> SELECT ID, Name, Salary, Joining_Date, DOB FROM employees ORDER BY MONTH (Joining_Date);
Siden vi ønsket å sortere postene i stigende rekkefølge av tiltredelsesmåneden for ansatte, har vi brukt ORDER BY-klausulen. MONTH ()-funksjonen brukes på kolonnen 'Bislutningsdato' for å trekke ut bare tilmeldingsmåneden fra Tilmeldingsdato.
shweta tiwari
Du vil få følgende utgang:
ID | Navn | Lønn | Blir_dato | DOB |
---|---|---|---|---|
2 | Kunal Mohit | 34000 | 2021-01-01 | 15.05.1990 19:10:00 |
1 | Rohit More | 50 000 | 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 | 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 |
Resultatene oppnådd fra spørringen ovenfor viser at postene vises i henhold til stigende rekkefølge for den ansattes måned for tiltredelse.