- Aina kun haluamme lajitella tietueita SQL-tietokannan taulukoihin tallennettujen sarakkeiden perusteella, harkitsemme ORDER BY -lauseen käyttöä SQL:ssä.
- SQL:n ORDER BY -lause auttaa meitä lajittelemaan tietueita taulukon tietyn sarakkeen perusteella. Tämä tarkoittaa, että aluksi kaikki arvot, jotka on tallennettu sarakkeeseen, johon käytämme ORDER BY -lausetta, lajitellaan. Sitten vastaavat sarakkeen arvot näytetään samassa järjestyksessä kuin edellisessä vaiheessa saamimme arvot.
- ORDER BY -lausekkeen avulla voimme lajitella tietueet nousevaan tai laskevaan järjestykseen tarpeidemme mukaisesti. Tietueet lajitellaan nousevaan järjestykseen aina, kun ASC-avainsanaa käytetään ORDER by -lauseen kanssa. DESC-avainsana lajittelee tietueet laskevaan järjestykseen . Jos sarakkeen jälkeen, jonka perusteella tietueet on lajiteltava, ei ole määritetty avainsanaa, lajittelu tapahtuu tällöin oletusarvoisesti nousevassa järjestyksessä.
Ennen kuin kirjoitat tietueiden lajittelukyselyitä, meidän on ymmärrettävä syntaksi.
Syntaksi tietueiden lajitteluun laskevaan järjestykseen:
linux kuinka nimetä hakemisto uudelleen
SELECT ColumnName1,…,ColumnNameN FROM TableName ORDER BY ColumnNameDESC;
Tutkitaanpa tätä aihetta lisää esimerkkien avulla. Käytämme MySQL-tietokantaa kyselyjen kirjoittamiseen esimerkeissä.
Oletetaan, että meillä on asiakastaulukko, jossa on seuraavat tietueet:
ID | NIMI | IKÄ | OSOITE | PALKKA |
---|---|---|---|---|
1 | Himani Gupta | kaksikymmentäyksi | Modi Nagar | 22000 |
2 | Shiva Tiwari | 22 | Bhopal | 21 000 |
3 | Ajeet Bhargav | Neljä viisi | Meerut | 65 000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26 000 |
5 | Balwant Singh | Neljä viisi | Varanasi | 36 000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38 000 |
8 | Neeru Sharma | 29 | Pune | 40 000 |
9 | Akash Yadav | 32 | Mumbai | 43500 |
10 | Sahil Sheikh | 35 | Aurangabad | 68800 |
Esimerkki 1:
Kirjoita kysely lajitellaksesi tietueet asiakastaulukkoon tallennettujen asiakkaiden nimien mukaiseen laskevaan järjestykseen.
Kysely:
mysql> SELECT *FROM customers ORDER BY Name DESC;
Tässä SELECT-kyselyssä ORDER BY -lausetta käytetään sarakkeessa 'Nimi' tietueiden lajittelemiseksi. DESC-avainsana lajittelee tietueet laskevaan järjestykseen.
Saat seuraavan tulosteen:
ID | NIMI | IKÄ | OSOITE | PALKKA |
---|---|---|---|---|
2 | Shiva Tiwari | 22 | Bhopal | 21 000 |
10 | Sahil Sheikh | 35 | Aurangabad | 68800 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38 000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26 000 |
8 | Neeru Sharma | 29 | Pune | 40 000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
1 | Himani Gupta | kaksikymmentäyksi | Modi Nagar | 22000 |
5 | Balwant Singh | Neljä viisi | Varanasi | 36 000 |
3 | Ajeet Bhargav | Neljä viisi | Meerut | 65 000 |
9 | Akash Yadav | 32 | Mumbai | 43500 |
Kaikki asiakastaulukossa olevat tietueet näytetään asiakkaan nimen mukaisessa laskevassa järjestyksessä.
Esimerkki 2:
Kirjoita kysely lajitellaksesi tietueet asiakastaulukkoon tallennettujen osoitteiden laskevaan järjestykseen.
Kysely:
mysql> SELECT *FROM customers ORDER BY Address DESC;
Tässä SELECT-kyselyssä ORDER BY -lausetta sovelletaan Osoite-sarakkeeseen tietueiden lajittelemiseksi. DESC-avainsana lajittelee tietueet laskevaan järjestykseen.
Saat seuraavan tulosteen:
ID | NIMI | IKÄ | OSOITE | PALKKA |
---|---|---|---|---|
5 | Balwant Singh | Neljä viisi | Varanasi | 36 000 |
8 | Neeru Sharma | 29 | Pune | 40 000 |
9 | Akash Yadav | 32 | Mumbai | 43500 |
1 | Himani Gupta | kaksikymmentäyksi | Modi Nagar | 22000 |
3 | Ajeet Bhargav | Neljä viisi | Meerut | 65 000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
2 | Shiva Tiwari | 22 | Bhopal | 21 000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26 000 |
10 | Sahil Sheikh | 35 | Aurangabad | 68800 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38 000 |
Kaikki asiakastaulukossa olevat tietueet näytetään asiakkaan osoitteen mukaisessa laskevassa järjestyksessä.
Esimerkki 3:
Kirjoita kysely lajitellaksesi tietueet asiakastaulukkoon tallennetun asiakaspalkan mukaiseen laskevaan järjestykseen.
Kysely:
mysql> SELECT *FROM customers ORDER BY Salary DESC;
Tässä SELECT-kyselyssä ORDER BY -lausetta käytetään sarakkeessa Palkka lajittelemaan tietueita. DESC-avainsana lajittelee tietueet laskevaan järjestykseen.
Saat seuraavan tulosteen:
ID | Nimi | Ikä | Osoite | Palkka |
---|---|---|---|---|
10 | Sahil Sheikh | 35 | Aurangabad | 68800 |
3 | Ajeet Bhargav | Neljä viisi | Meerut | 65 000 |
9 | Akash Yadav | 32 | Mumbai | 43500 |
8 | Neeru Sharma | 29 | Pune | 40 000 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38 000 |
5 | Balwant Singh | Neljä viisi | Varanasi | 36 000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26 000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
1 | Himani Gupta | kaksikymmentäyksi | Modi Nagar | 22000 |
2 | Shiva Tiwari | 22 | Bhopal | 21 000 |
Kaikki asiakastaulukossa olevat tietueet näkyvät asiakkaan palkan mukaisessa laskevassa järjestyksessä.
Esimerkki 4:
Kirjoita kysely lajitellaksesi tietueet asiakastaulukkoon tallennetun asiakkaan iän mukaiseen laskevaan järjestykseen.
Kysely:
mysql> SELECT *FROM customers ORDER BY Age DESC;
Tässä SELECT-kyselyssä sarakkeessa 'Ikä' käytetään ORDER BY -lausetta tietueiden lajittelemiseksi. DESC-avainsana lajittelee tietueet laskevaan järjestykseen.
Saat seuraavan tulosteen:
ID | Nimi | Ikä | Osoite | Palkka |
---|---|---|---|---|
3 | Ajeet Bhargav | Neljä viisi | Meerut | 65 000 |
5 | Balwant Singh | Neljä viisi | Varanasi | 36 000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26 000 |
10 | Sahil Sheikh | 35 | Aurangabad | 68800 |
9 | Akash Yadav | 32 | Mumbai | 43500 |
8 | Neeru Sharma | 29 | Pune | 40 000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
2 | Shiva Tiwari | 22 | Bhopal | 21 000 |
1 | Himani Gupta | kaksikymmentäyksi | Modi Nagar | 22000 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38 000 |
Kaikki asiakastaulukossa olevat tietueet näytetään asiakkaan iän mukaisessa laskevassa järjestyksessä.
Oletetaan, että meillä on toinen agentit-niminen taulukko, jossa on seuraavat tietueet:
APU | Nimi | Työ alue | Voitto_prosentti | Yhteysnumero | Palkka |
---|---|---|---|---|---|
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43 000 |
2 | Sakshi Kumari | Chennai | 5 | 8190567342 | 25 000 |
3 | Prachi Desai | Mumbai | 2 | 9056123432 | 60 000 |
4 | Shivani Lisää | Pune | 3 | 8894236789 | 35500 |
5 | Pallavi Singh | Delhi | 4 | 7798092341 | 38700 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
7 | Shweta sanoi | Chandigarh | 6 | 8898786453 | 31670 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
9 | Anushka Tripathi | Sormillasi | 9 | 8909124326 | 38 000 |
10 | Devika Sharma | Goa | 7 | 7864523145 | 44050 |
Esimerkki 1:
Kirjoita kysely lajitellaksesi tietueet agenttitaulukkoon tallennettujen agenttien nimien mukaan laskevaan järjestykseen.
Kysely:
mysql> SELECT *FROM agents ORDER BY Name DESC;
Tässä SELECT-kyselyssä ORDER BY -lausetta käytetään sarakkeessa 'Nimi' tietueiden lajittelemiseksi. DESC-avainsana lajittelee tietueet laskevaan järjestykseen.
Saat seuraavan tulosteen:
APU | Nimi | Työ alue | Voitto_prosentti | Yhteysnumero | Palkka |
---|---|---|---|---|---|
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
7 | Shweta sanoi | Chandigarh | 6 | 8898786453 | 31670 |
4 | Shivani Lisää | Pune | 3 | 8894236789 | 35500 |
2 | Sakshi Kumari | Chennai | 5 | 8190567342 | 25 000 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
3 | Prachi Desai | Mumbai | 2 | 9056123432 | 60 000 |
5 | Pallavi Singh | Delhi | 4 | 7798092341 | 38700 |
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43 000 |
10 | Devika Sharma | Goa | 7 | 7864523145 | 44050 |
9 | Anushka Tripathi | Sormillasi | 9 | 8909124326 | 38 000 |
Kaikki agenttitaulukossa olevat tietueet näytetään agentin nimen mukaisessa laskevassa järjestyksessä.
Esimerkki 2:
Kirjoita kysely lajitellaksesi tietueet agenttitaulukkoon tallennetun edustajan palkan mukaiseen laskevaan järjestykseen.
Kysely:
mysql> SELECT *FROM agents ORDER BY Salary DESC;
Tässä SELECT-kyselyssä ORDER BY -lausetta käytetään sarakkeessa Palkka lajittelemaan tietueita. DESC-avainsana lajittelee tietueet laskevaan järjestykseen.
Saat seuraavan tulosteen:
APU | Nimi | Työ alue | Voitto_prosentti | Yhteysnumero | Palkka |
---|---|---|---|---|---|
3 | Prachi Desai | Mumbai | 2 | 9056123432 | 60 000 |
10 | Devika Sharma | Goa | 7 | 7864523145 | 44050 |
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43 000 |
5 | Pallavi Singh | Delhi | 4 | 7798092341 | 38700 |
9 | Anushka Tripathi | Sormillasi | 9 | 8909124326 | 38 000 |
4 | Shivani Lisää | Pune | 3 | 8894236789 | 35500 |
7 | Shweta sanoi | Chandigarh | 6 | 8898786453 | 31670 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
2 | Sakshi Kumari | Chennai | 5 | 8190567342 | 25 000 |
Kaikki agenttitaulukossa olevat tietueet näytetään agentin palkan mukaisessa laskevassa järjestyksessä.
Esimerkki 3:
Kirjoita kysely lajitellaksesi tietueet agenttitaulukkoon tallennetun agentin työalueen laskevaan järjestykseen.
Kysely:
mysql> SELECT *FROM agents ORDER BY WorkArea DESC;
Tässä SELECT-kyselyssä ORDER BY -lausetta käytetään sarakkeessa 'Työalue' tietueiden lajittelemiseksi. DESC-avainsana lajittelee tietueet laskevaan järjestykseen.
Saat seuraavan tulosteen:
APU | Nimi | Työ alue | Voitto_prosentti | Yhteysnumero | Palkka |
---|---|---|---|---|---|
9 | Anushka Tripathi | Sormillasi | 9 | 8909124326 | 38 000 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
4 | Shivani Lisää | Pune | 3 | 8894236789 | 35500 |
3 | Prachi Desai | Mumbai | 2 | 9056123432 | 60 000 |
10 | Devika Sharma | Goa | 7 | 7864523145 | 44050 |
5 | Pallavi Singh | Delhi | 4 | 7798092341 | 38700 |
2 | Sakshi Kumari | Chennai | 5 | 8190567342 | 25 000 |
7 | Shweta sanoi | Chandigarh | 6 | 8898786453 | 31670 |
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43 000 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
Kaikki agenttitaulukossa olevat tietueet näytetään agentin työalueen mukaisessa laskevassa järjestyksessä.
Esimerkki 4:
Kirjoita kysely lajitellaksesi tietueet agenttitaulukkoon tallennetun agentin voittoprosentin mukaiseen laskevaan järjestykseen.
Kysely:
mysql> SELECT *FROM agents ORDER BY Profit_Percent DESC;
Tässä SELECT-kyselyssä ORDER BY -lausetta sovelletaan sarakkeeseen Profit_Percent tietueiden lajittelemiseksi. DESC-avainsana lajittelee tietueet laskevaan järjestykseen.
Saat seuraavan tulosteen:
APU | Nimi | Työ alue | Voitto_prosentti | Yhteysnumero | Palkka |
---|---|---|---|---|---|
9 | Anushka Tripathi | Sormillasi | 9 | 8909124326 | 38 000 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
10 | Devika Sharma | Goa | 7 | 7864523145 | 44050 |
7 | Shweta sanoi | Chandigarh | 6 | 8898786453 | 31670 |
2 | Sakshi Kumari | Chennai | 5 | 8190567342 | 25 000 |
5 | Pallavi Singh | Delhi | 4 | 7798092341 | 38700 |
4 | Shivani Lisää | Pune | 3 | 8894236789 | 35500 |
3 | Prachi Desai | Mumbai | 2 | 9056123432 | 60 000 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43 000 |
Kaikki agenttitaulukossa olevat tietueet näytetään agentin voittoprosentin mukaisessa laskevassa järjestyksessä.