logo

SQL-JÄRJESTYS LAUSEKELLA LASKEVALLA JÄRJESTYKSELLÄ

  • 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ä.