PESANAN OLEH di MySQL: DESC & Pertanyaan ASC dengan CONTOH

Isi kandungan:

Anonim

Menyusun Hasil

Menggunakan perintah SELECT, hasil dikembalikan dalam urutan yang sama catatan ditambahkan ke dalam pangkalan data. Ini adalah urutan urutan lalai. Di bahagian ini, kita akan melihat bagaimana kita dapat menyusun hasil pertanyaan kita. Menyusun hanya mengatur semula hasil pertanyaan kami dengan cara yang ditentukan. Pengisihan dapat dilakukan pada satu lajur atau lebih dari satu lajur. Ia boleh dilakukan berdasarkan nombor, rentetan dan juga jenis data tarikh.

Apa yang ORDER BY di MySQL?

MySQL ORDER BY digunakan bersama dengan pertanyaan SELECT untuk menyusun data secara teratur. Klausa MySQL ORDER BY digunakan untuk menyusun set hasil pertanyaan sama ada menaik atau menurun.

SELECT statement… [WHERE condition | GROUP BY `field_name(s)` HAVING condition] ORDER BY `field_name(s)` [ASC | DESC];

SINI

  • "SELECT statement ..." adalah pertanyaan pilihan biasa
  • "|" mewakili alternatif
  • "[WHERE condition | GROUP BY` field_name (s) `HAVING condition" adalah syarat pilihan yang digunakan untuk menapis set hasil pertanyaan.
  • "ORDER BY" melakukan penyusunan set hasil pertanyaan
  • "[ASC | DESC]" adalah kata kunci yang digunakan untuk menyusun set hasil sama ada menaik atau menurun. Catatan ASC digunakan sebagai lalai.

Apakah Kata Kunci DESC dan ASC?

ASC adalah bentuk pendek untuk menaik

MySQL DESC adalah bentuk ringkas untuk menurun

Ini digunakan untuk menyusun hasil pertanyaan dengan gaya atas ke bawah.

Ini digunakan untuk menyusun hasil pertanyaan dengan gaya bawah ke atas

Semasa mengusahakan jenis data tarikh, tarikh paling awal ditunjukkan di bahagian atas senarai.

. Semasa mengusahakan jenis tarikh, tarikh terkini ditunjukkan di bahagian atas senarai.

Semasa bekerja dengan jenis data berangka, nilai terendah ditunjukkan di bahagian atas senarai.

Semasa bekerja dengan jenis data berangka, nilai tertinggi ditunjukkan di atas set hasil pertanyaan.

Semasa bekerja dengan jenis data rentetan, set hasil pertanyaan disusun dari yang dimulai dengan huruf A hingga huruf Z.

Semasa bekerja dengan jenis data rentetan, set hasil pertanyaan disusun dari yang bermula dengan huruf Z turun ke huruf A.

Kedua-dua kata kunci SQL DESC dan ASC digunakan bersama-sama dengan pernyataan SELECT dan klausa MySQL ORDER BY.

Sintaks DESC dan ASC

Kata kunci jenis SQL DESC mempunyai sintaks asas berikut.

SELECT {fieldName(s) | *} FROM tableName(s) [WHERE condition] ORDER BY fieldname(s) ASC /DESC [LIMIT N]

SINI

  • PILIH {fieldName (s) | *} DARI tableName (s) adalah pernyataan yang mengandungi medan dan jadual untuk mendapatkan hasilnya.
  • [WHERE condition] adalah pilihan tetapi boleh digunakan untuk menyaring data mengikut keadaan yang diberikan.
  • PESANAN MENGIKUT nama bidang adalah wajib dan merupakan bidang di mana penyortiran harus dilakukan. Kata kunci MySQL DESC menetapkan bahawa penyortiran harus mengikut urutan menurun.
  • [LIMIT] adalah pilihan tetapi boleh digunakan untuk membatasi jumlah hasil yang dikembalikan dari set hasil pertanyaan.

Contoh:

Sekarang mari kita lihat contoh praktikal -

SELECT * FROM members;

Melaksanakan skrip di atas di meja kerja MySQL terhadap myflixdb memberi kita hasil berikut seperti yang ditunjukkan di bawah.

 
membership_number full_names gender date_of_birth physical_address postal_address contct_number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 This email address is being protected from spambots. You need JavaScript enabled to view it.
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it.
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it.
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553

Anggaplah bahagian pemasaran mahu butir-butir ahli disusun mengikut susunan Tarikh Lahir. Ini akan membantu mereka menghantar ucapan hari jadi tepat pada masanya. Kita boleh mendapatkan senarai tersebut dengan menjalankan pertanyaan seperti di bawah -

SELECT * FROM members ORDER BY date_of_birth DESC;

Melaksanakan skrip di atas di meja kerja MySQL terhadap myflixdb memberi kita hasil berikut seperti yang ditunjukkan di bawah.

Pertanyaan yang sama dalam urutan menaik

PILIH * DARI ahli ORDER MENGIKUT tarikh_of_birth ASC

Catatan: Nilai NULL bermaksud tiada nilai (bukan sifar atau tali kosong). Perhatikan cara mereka disusun.

Lebih banyak contoh

Mari pertimbangkan skrip berikut yang menyenaraikan semua rekod ahli.

SELECT * FROM `members`;

Melaksanakan skrip di atas memberikan hasil berikut yang ditunjukkan di bawah.

 
membership_number full_names gender date_of_birth physical_address postal_address contct_number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 This email address is being protected from spambots. You need JavaScript enabled to view it.
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it.
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it.
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553 NULL

Andaikan kita ingin mendapatkan senarai yang menyusun hasil carian dengan menggunakan bidang jantina, kita akan menggunakan skrip yang ditunjukkan di bawah.

SELECT * FROM `members` ORDER BY `gender`;
 
membership_number full_names gender date_of_birth physical_address postal_address contct_number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 This email address is being protected from spambots. You need JavaScript enabled to view it.
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it.
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it.
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553 NULL

Anggota "Perempuan" telah dipaparkan terlebih dahulu diikuti oleh anggota "Lelaki", ini kerana apabila klausa ORDER BY DESC digunakan tanpa menentukan kata kunci ASC atau MySQL DESC, secara lalai, MySQL telah menyusun hasil pertanyaan yang ditetapkan dalam urutan menaik.

Sekarang mari kita lihat contoh yang menyusun menggunakan dua lajur ; yang pertama adalah disusun dalam menaik perintah secara lalai semasa ruang kedua yang disusun dalam tertib menurun.

SELECT * FROM `members` ORDER BY `gender`,`date_of_birth` DESC;

Melaksanakan skrip di atas di meja kerja MySQL terhadap myflixdb memberikan hasil berikut.

Lajur jantina disusun mengikut urutan menaik secara lalai sementara lajur tarikh lahir disusun mengikut urutan menurun secara eksplisit

Mengapa kita boleh menggunakan DESC dan ASC?

Andaikan kita ingin mencetak sejarah pembayaran untuk ahli perpustakaan video untuk membantu menjawab pertanyaan dari kaunter penerimaan tetamu, bukankah lebih logik jika pembayaran dicetak dalam urutan kronologi yang menurun bermula dengan pembayaran baru-baru ini hingga pembayaran sebelumnya?

DESC dalam SQL adalah kata kunci yang menjadi berguna dalam situasi seperti itu. Kita boleh menulis pertanyaan yang menyusun senarai mengikut urutan menurun menggunakan tarikh pembayaran.

Katakan bahagian pemasaran ingin mendapatkan senarai filem mengikut kategori yang boleh digunakan oleh ahli untuk menentukan filem mana yang tersedia di perpustakaan ketika menyewa filem, bukankah lebih logik untuk melihat nama dan tajuk kategori filem secara menaik sehingga ahli dapat dengan cepat mencari maklumat dari senarai?

Kata kunci ASC sangat berguna dalam situasi seperti itu; kita boleh mendapatkan senarai filem yang disusun mengikut nama kategori dan tajuk filem mengikut urutan menaik.

Ringkasan

  • Menyusun hasil pertanyaan adalah menyusun semula baris yang dikembalikan dari hasil pertanyaan yang ditetapkan sama ada dalam urutan menaik atau menurun.
  • Kata kunci DESC dalam SQL, digunakan untuk menyusun hasil pertanyaan yang ditetapkan dalam urutan menurun.
  • Kata kunci ASC digunakan untuk menyusun hasil pertanyaan yang ditetapkan dalam urutan menaik.
  • Kedua-dua DESC dan ASC berfungsi bersama dengan kata kunci ORDER BY. Kata kunci tersebut juga dapat digunakan dalam kombinasi dengan kata kunci lain seperti klausa WHERE dan TERHAD
  • Lalai untuk ORDER BY apabila tiada yang dinyatakan secara eksplisit adalah ASC.