logo

ZAMÓWIENIE SQL WEDŁUG KLAUZULI W PORZĄDKU MAJĄCYM

  • Ilekroć chcemy posortować rekordy na podstawie kolumn znajdujących się w tabelach bazy SQL, wówczas rozważamy zastosowanie w SQL klauzuli ORDER BY.
  • Klauzula ORDER BY w SQL pomaga nam sortować rekordy na podstawie konkretnej kolumny tabeli. Oznacza to, że początkowo wszystkie wartości zapisane w kolumnie, w której stosujemy klauzulę ORDER BY, zostaną posortowane. Następnie zostaną wyświetlone odpowiednie wartości kolumn w tej samej kolejności, w jakiej uzyskaliśmy wartości we wcześniejszym kroku.
  • Używając klauzuli ORDER BY, możemy posortować rekordy w kolejności rosnącej lub malejącej, zgodnie z naszymi wymaganiami. Jeśli słowo kluczowe ASC zostanie użyte z klauzulą ​​ORDER by, rekordy zostaną posortowane w kolejności rosnącej. Słowo kluczowe DESC sortuje rekordy w kolejności malejącej . Jeżeli po kolumnie, według której mamy posortować rekordy, nie zostanie podane żadne słowo kluczowe, wówczas domyślnie sortowanie zostanie wykonane w kolejności rosnącej.

Zanim napiszemy zapytania sortujące rekordy, przyjrzyjmy się składni.

Składnia sortowania rekordów w kolejności malejącej:

SELECT ColumnName1,…,ColumnNameN FROM TableName ORDER BY ColumnNameDESC; 

Zbadajmy więcej na ten temat za pomocą przykładów. Do zapisywania zapytań w przykładach będziemy używać bazy danych MySQL.

Rozważmy, że mamy tabelę klientów zawierającą następujące rekordy:

dialekt hibernacji
ID NAZWA WIEK ADRES WYNAGRODZENIE
1 Himani Gupta dwadzieścia jeden Modi Nagara 22000
2 Shiva Tiwari 22 Bhopal 21000
3 Ajeet Bhargav Cztery pięć Meerut 65000
4 Ritesh Yadav 36 Azamgarh 26000
5 Balwanta Singha Cztery pięć Waranasi 36000
6 Mahesh Sharma 26 Mathura 22000
7 Rohita Srivastavy 19 Ahmadabad 38000
8 Neeru Sharma 29 Pune 40000
9 Akash Yadav 32 Bombaj 43500
10 Sahil Szejk 35 Aurangabad 68800

Przykład 1:

Napisz zapytanie sortujące rekordy w kolejności malejącej według nazw klientów przechowywanych w tabeli klientów.

Zapytanie:

mysql> SELECT *FROM customers ORDER BY Name DESC;

Tutaj, w zapytaniu SELECT, w kolumnie „Nazwa” stosowana jest klauzula ORDER BY w celu sortowania rekordów. Słowo kluczowe DESC sortuje rekordy w kolejności malejącej.

Otrzymasz następujące dane wyjściowe:

ID NAZWA WIEK ADRES WYNAGRODZENIE
2 Shiva Tiwari 22 Bhopal 21000
10 Sahil Szejk 35 Aurangabad 68800
7 Rohit Shrivastav 19 Ahmadabad 38000
4 Ritesh Yadav 36 Azamgarh 26000
8 Neeru Sharma 29 Pune 40000
6 Mahesh Sharma 26 Mathura 22000
1 Himani Gupta dwadzieścia jeden Modi Nagara 22000
5 Balwanta Singha Cztery pięć Waranasi 36000
3 Ajeet Bhargav Cztery pięć Meerut 65000
9 Akash Yadav 32 Bombaj 43500

Wszystkie rekordy znajdujące się w tabeli klientów wyświetlane są w kolejności malejącej według nazwy klienta.

Przykład 2:

Napisz zapytanie sortujące rekordy w kolejności malejącej według adresów zapisanych w tabeli klientów.

Zapytanie:

mysql> SELECT *FROM customers ORDER BY Address DESC;

Tutaj, w zapytaniu SELECT, do kolumny „Adres” stosowana jest klauzula ORDER BY w celu sortowania rekordów. Słowo kluczowe DESC sortuje rekordy w kolejności malejącej.

Otrzymasz następujące dane wyjściowe:

ID NAZWA WIEK ADRES WYNAGRODZENIE
5 Balwanta Singha Cztery pięć Waranasi 36000
8 Neeru Sharma 29 Pune 40000
9 Akash Yadav 32 Bombaj 43500
1 Himani Gupta dwadzieścia jeden Modi Nagara 22000
3 Ajeet Bhargav Cztery pięć Meerut 65000
6 Mahesh Sharma 26 Mathura 22000
2 Shiva Tiwari 22 Bhopal 21000
4 Ritesh Yadav 36 Azamgarh 26000
10 Sahil Szejk 35 Aurangabad 68800
7 Rohita Srivastavy 19 Ahmadabad 38000

Wszystkie rekordy znajdujące się w tabeli klientów wyświetlane są w kolejności malejącej według adresu klienta.

Przykład 3:

Napisz zapytanie sortujące rekordy w kolejności malejącej według wynagrodzenia klienta zapisanego w tabeli klienci.

Zapytanie:

mysql> SELECT *FROM customers ORDER BY Salary DESC;

Tutaj, w zapytaniu SELECT, w kolumnie „Wynagrodzenie” stosowana jest klauzula ORDER BY w celu sortowania rekordów. Słowo kluczowe DESC sortuje rekordy w kolejności malejącej.

Otrzymasz następujące dane wyjściowe:

ID Nazwa Wiek Adres Wynagrodzenie
10 Sahil Szejk 35 Aurangabad 68800
3 Ajeet Bhargav Cztery pięć Meerut 65000
9 Akash Yadav 32 Bombaj 43500
8 Neeru Sharma 29 Pune 40000
7 Rohita Srivastavy 19 Ahmadabad 38000
5 Balwanta Singha Cztery pięć Waranasi 36000
4 Ritesh Yadav 36 Azamgarh 26000
6 Mahesh Sharma 26 Mathura 22000
1 Himani Gupta dwadzieścia jeden Modi Nagara 22000
2 Shiva Tiwari 22 Bhopal 21000

Wszystkie rekordy znajdujące się w tabeli klientów wyświetlane są w kolejności malejącej według wynagrodzenia klienta.

Przykład 4:

projekt singletona

Napisz zapytanie sortujące rekordy w kolejności malejącej według wieku klienta zapisanego w tabeli Klienci.

Zapytanie:

mysql> SELECT *FROM customers ORDER BY Age DESC;

Tutaj, w zapytaniu SELECT, w kolumnie „Wiek” stosowana jest klauzula ORDER BY w celu sortowania rekordów. Słowo kluczowe DESC sortuje rekordy w kolejności malejącej.

Otrzymasz następujące dane wyjściowe:

ID Nazwa Wiek Adres Wynagrodzenie
3 Ajeet Bhargav Cztery pięć Meerut 65000
5 Balwanta Singha Cztery pięć Waranasi 36000
4 Ritesh Yadav 36 Azamgarh 26000
10 Sahil Szejk 35 Aurangabad 68800
9 Akash Yadav 32 Bombaj 43500
8 Neeru Sharma 29 Pune 40000
6 Mahesh Sharma 26 Mathura 22000
2 Shiva Tiwari 22 Bhopal 21000
1 Himani Gupta dwadzieścia jeden Modi Nagara 22000
7 Rohita Srivastavy 19 Ahmadabad 38000

Wszystkie rekordy znajdujące się w tabeli klientów wyświetlane są w kolejności malejącej według wieku klienta.

Rozważmy, że mamy inną tabelę o nazwie agenci z następującymi rekordami:

POMOC Nazwa Miejsce pracy Procent_zysku Numer kontaktowy Wynagrodzenie
1 Gurpreeta Singha Bangalore 1 9989675432 43000
2 Sakshi Kumari Chennai 5 8190567342 25000
3 Prachi Desai Bombaj 2 9056123432 60000
4 Shivani Więcej Pune 3 8894236789 35500
5 Pallavi Singh Delhi 4 7798092341 38700
6 Rohini Kulkarni Ambala 8 7890945612 25670
7 Powiedziała Shweta Czandigarh 6 8898786453 31670
8 Sonakshi Tiwari Udajpur 2 9809453421 25050
9 Anushka Tripathi Na palcach 9 8909124326 38000
10 Devika Sharma Goa 7 7864523145 44050

Przykład 1:

Napisz zapytanie sortujące rekordy w kolejności malejącej według nazw agentów przechowywanych w tabeli agentów.

Zapytanie:

mysql> SELECT *FROM agents ORDER BY Name DESC;

Tutaj, w zapytaniu SELECT, w kolumnie „Nazwa” stosowana jest klauzula ORDER BY w celu sortowania rekordów. Słowo kluczowe DESC sortuje rekordy w kolejności malejącej.

gimp usuwający tło

Otrzymasz następujące dane wyjściowe:

POMOC Nazwa Miejsce pracy Procent_zysku Numer kontaktowy Wynagrodzenie
8 Sonakshi Tiwari Udajpur 2 9809453421 25050
7 Powiedziała Shweta Czandigarh 6 8898786453 31670
4 Shivani Więcej Pune 3 8894236789 35500
2 Sakshi Kumari Chennai 5 8190567342 25000
6 Rohini Kulkarni Ambala 8 7890945612 25670
3 Prachi Desai Bombaj 2 9056123432 60000
5 Pallavi Singh Delhi 4 7798092341 38700
1 Gurpreeta Singha Bangalore 1 9989675432 43000
10 Devika Sharma Goa 7 7864523145 44050
9 Anushka Tripathi Na palcach 9 8909124326 38000

Wszystkie rekordy znajdujące się w tabeli agentów są wyświetlane w kolejności malejącej według nazwy agenta.

Przykład 2:

Napisz zapytanie sortujące rekordy w kolejności malejącej według wynagrodzenia agenta zapisanego w tabeli agentów.

Zapytanie:

mysql> SELECT *FROM agents ORDER BY Salary DESC;

Tutaj, w zapytaniu SELECT, w kolumnie „Wynagrodzenie” stosowana jest klauzula ORDER BY w celu sortowania rekordów. Słowo kluczowe DESC sortuje rekordy w kolejności malejącej.

Otrzymasz następujące dane wyjściowe:

POMOC Nazwa Miejsce pracy Procent_zysku Numer kontaktowy Wynagrodzenie
3 Prachi Desai Bombaj 2 9056123432 60000
10 Devika Sharma Goa 7 7864523145 44050
1 Gurpreeta Singha Bangalore 1 9989675432 43000
5 Pallavi Singh Delhi 4 7798092341 38700
9 Anushka Tripathi Na palcach 9 8909124326 38000
4 Shivani Więcej Pune 3 8894236789 35500
7 Powiedziała Shweta Czandigarh 6 8898786453 31670
6 Rohini Kulkarni Ambala 8 7890945612 25670
8 Sonakshi Tiwari Udajpur 2 9809453421 25050
2 Sakshi Kumari Chennai 5 8190567342 25000

Wszystkie rekordy znajdujące się w tabeli agentów wyświetlane są w kolejności malejącej według wynagrodzenia agenta.

Przykład 3:

Napisz zapytanie sortujące rekordy w kolejności malejącej według obszaru roboczego agenta zapisanego w tabeli agentów.

Zapytanie:

mysql> SELECT *FROM agents ORDER BY WorkArea DESC;

Tutaj, w zapytaniu SELECT, w kolumnie „WorkArea” stosowana jest klauzula ORDER BY w celu sortowania rekordów. Słowo kluczowe DESC sortuje rekordy w kolejności malejącej.

Otrzymasz następujące dane wyjściowe:

POMOC Nazwa Miejsce pracy Procent_zysku Numer kontaktowy Wynagrodzenie
9 Anushka Tripathi Na palcach 9 8909124326 38000
8 Sonakshi Tiwari Udajpur 2 9809453421 25050
4 Shivani Więcej Pune 3 8894236789 35500
3 Prachi Desai Bombaj 2 9056123432 60000
10 Devika Sharma Goa 7 7864523145 44050
5 Pallavi Singh Delhi 4 7798092341 38700
2 Sakshi Kumari Chennai 5 8190567342 25000
7 Powiedziała Shweta Czandigarh 6 8898786453 31670
1 Gurpreeta Singha Bangalore 1 9989675432 43000
6 Rohini Kulkarni Ambala 8 7890945612 25670

Wszystkie rekordy znajdujące się w tabeli agentów są wyświetlane w kolejności malejącej według obszaru roboczego agenta.

Przykład 4:

Napisz zapytanie sortujące rekordy w kolejności malejącej według procentu zysku agenta zapisanego w tabeli agentów.

przykłady kodu w języku c#

Zapytanie:

mysql> SELECT *FROM agents ORDER BY Profit_Percent DESC;

Tutaj, w zapytaniu SELECT, w kolumnie „Profit_Percent” stosowana jest klauzula ORDER BY w celu sortowania rekordów. Słowo kluczowe DESC sortuje rekordy w kolejności malejącej.

Otrzymasz następujące dane wyjściowe:

POMOC Nazwa Miejsce pracy Procent_zysku Numer kontaktowy Wynagrodzenie
9 Anushka Tripathi Na palcach 9 8909124326 38000
6 Rohini Kulkarni Ambala 8 7890945612 25670
10 Devika Sharma Goa 7 7864523145 44050
7 Powiedziała Shweta Czandigarh 6 8898786453 31670
2 Sakshi Kumari Chennai 5 8190567342 25000
5 Pallavi Singh Delhi 4 7798092341 38700
4 Shivani Więcej Pune 3 8894236789 35500
3 Prachi Desai Bombaj 2 9056123432 60000
8 Sonakshi Tiwari Udajpur 2 9809453421 25050
1 Gurpreeta Singha Bangalore 1 9989675432 43000

Wszystkie rekordy znajdujące się w tabeli agentów są wyświetlane w kolejności malejącej według procentu zysku agenta.