MySQL'de SİPARİŞ VEREN: DESC & EXAMPLE ile ASC Sorgusu

İçindekiler:

Anonim

Sonuçları Sıralama

SELECT komutunu kullanarak, sonuçlar kayıtların veritabanına eklendikleri sırayla döndürüldü. Bu, varsayılan sıralama düzenidir. Bu bölümde, sorgu sonuçlarımızı nasıl sıralayabileceğimize bakacağız. Sıralama, sorgu sonuçlarımızı belirli bir şekilde yeniden düzenlemektir. Sıralama tek bir sütunda veya birden fazla sütunda yapılabilir. Sayı, dizge ve tarih veri türleri üzerinde yapılabilir.

MySQL'de ORDER BY nedir?

MySQL ORDER BY , verileri düzenli bir şekilde sıralamak için SELECT sorgusu ile birlikte kullanılır. MySQL ORDER BY deyimi, sorgu sonuç kümelerini artan veya azalan sırada sıralamak için kullanılır.

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

İŞTE

  • "SELECT ifadesi…" normal seçim sorgusudur
  • "|" alternatifleri temsil eder
  • "[NEREDE koşulu | GRUP BY" alan_adı (lar) ı "SAHİP" koşul, sorgu sonuç kümelerini filtrelemek için kullanılan isteğe bağlı koşuldur.
  • "ORDER BY" , sorgu sonuç kümesi sıralamasını gerçekleştirir
  • "[ASC | DESC]" , sonuç kümelerini artan veya azalan sırada sıralamak için kullanılan anahtar kelimedir. Not ASC , varsayılan olarak kullanılır.

DESC ve ASC Anahtar Kelimeleri nedir?

ASC, yükselmenin kısa biçimidir

MySQL DESC, azalan için kısa biçimdir

Sorgu sonuçlarını yukarıdan aşağıya sıralamak için kullanılır.

Sorgu sonuçlarını aşağıdan yukarıya doğru sıralamak için kullanılır.

Tarih veri türleri üzerinde çalışırken, en erken tarih listenin en üstünde gösterilir.

. Tarih türleri üzerinde çalışırken, en son tarih listenin en üstünde gösterilir.

Sayısal veri türleriyle çalışırken, en düşük değerler listenin en üstünde gösterilir.

Sayısal veri türleriyle çalışırken, en yüksek değerler sorgu sonuç kümesinin en üstünde gösterilir.

Dize veri türleriyle çalışırken, sorgu sonuç kümesi, A harfiyle başlayanlardan Z harfine kadar sıralanır.

Dize veri türleriyle çalışırken, sorgu sonuç kümesi Z harfinden başlayıp A harfine inenlerden sıralanır.

Hem SQL DESC hem de ASC anahtar sözcükleri, SELECT deyimi ve MySQL ORDER BY yan tümcesi ile birlikte kullanılır.

DESC ve ASC sözdizimi

SQL DESC sıralama anahtar sözcüğü aşağıdaki temel sözdizimine sahiptir.

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

İŞTE

  • SELECT {fieldName (s) | *} FROM tableName (s) , sonuç kümesinin alınacağı alanları ve tabloları içeren ifadedir.
  • [NEREDE koşulu] isteğe bağlıdır, ancak verileri verilen koşula göre filtrelemek için kullanılabilir.
  • ORDER BY alan adları zorunludur ve sıralamanın gerçekleştirileceği alandır. MySQL DESC anahtar sözcüğü, sıralamanın azalan sırada olacağını belirtir.
  • [SINIR] isteğe bağlıdır ancak sorgu sonuç kümesinden döndürülen sonuçların sayısını sınırlamak için kullanılabilir.

Örnekler:

Şimdi pratik bir örneğe bakalım -

SELECT * FROM members;

Yukarıdaki komut dosyasını MySQL çalışma tezgahında myflixdb ile çalıştırmak bize aşağıda gösterilen aşağıdaki sonuçları verir.

 
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

Diyelim ki pazarlama departmanı üye detaylarının azalan Doğum Tarihine göre düzenlenmesini istiyor. Bu, doğum günlerini zamanında selamlamalarına yardımcı olacaktır. Söz konusu listeyi aşağıdaki gibi bir sorgu yürüterek elde edebiliriz -

SELECT * FROM members ORDER BY date_of_birth DESC;

Yukarıdaki komut dosyasını MySQL çalışma tezgahında myflixdb ile çalıştırmak bize aşağıda gösterilen aşağıdaki sonuçları verir.

Artan sırada aynı sorgu

SEÇİN * Üyelerden SİPARİŞ VERİN tarih_of_birth ASC

Not: NULL değerler, değer olmadığı anlamına gelir (sıfır veya boş dize değil). Nasıl sıralandıklarını gözlemleyin.

Daha fazla örnek

Tüm üye kayıtlarını listeleyen aşağıdaki betiği düşünelim.

SELECT * FROM `members`;

Yukarıdaki komut dosyasını çalıştırmak, aşağıda gösterilen aşağıdaki sonuçları verir.

 
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

Cinsiyet alanını kullanarak sorgu sonuç kümesini sıralayan bir liste elde etmek istediğimizi varsayalım, aşağıda gösterilen komut dosyasını kullanacağız.

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

Önce "Kadın" üyeler, ardından "Erkek" üyeler görüntülenir, bunun nedeni, ASC veya MySQL DESC anahtar sözcüğünü belirtmeden ORDER BY DESC yan tümcesi kullanıldığında, varsayılan olarak MySQL, sorgu sonuç kümesini artan bir sırada sıralamasıdır.

Şimdi sıralamayı iki sütun kullanarak yapan bir örneğe bakalım ; İlki bir kriteri olarak artan düzende ikinci sütun ise, varsayılan olarak kriteri olarak azalan.

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

Yukarıdaki betiği MySQL çalışma tezgahında myflixdb ile çalıştırmak aşağıdaki sonuçları verir.

Cinsiyet sütunu varsayılan olarak artan düzende sıralanırken, doğum tarihi sütunu açıkça azalan düzende sıralanmıştır.

Neden DESC ve ASC kullanabiliriz?

Ön bürodaki soruları yanıtlamaya yardımcı olması için bir video kütüphanesi üyesi için bir ödeme geçmişi yazdırmak istediğimizi varsayalım, son ödemeden önceki ödemeye kadar ödemelerin azalan bir kronolojik sırayla yazdırılması daha mantıklı olmaz mıydı?

SQL'de DESC, bu tür durumlarda kullanışlı hale gelen bir anahtar sözcüktür. Ödeme tarihini kullanarak listeyi azalan sırada sıralayan bir sorgu yazabiliriz.

Pazarlama departmanının, üyelerin film kiralarken kütüphanede hangi filmlerin mevcut olduğuna karar vermek için kullanabilecekleri kategoriye göre bir film listesi almak istediğini varsayalım, film kategorisi adlarını ve başlığını artan şekilde sıralamak daha mantıklı olmaz mıydı? üyeler listedeki bilgileri hızlıca arayabilir mi?

ASC anahtar sözcüğü bu tür durumlarda kullanışlıdır; Film listesini kategori adına ve film başlığına göre artan sırada alabiliriz.

Özet

  • Sorgu sonuçlarının sıralanması, bir sorgu sonuç kümesinden döndürülen satırları artan veya azalan sırada yeniden düzenlemektir.
  • SQL'de DESC anahtar sözcüğü, sorgu sonuç kümesini azalan düzende sıralamak için kullanılır.
  • ASC anahtar sözcüğü, sorgu sonuç kümesini artan sırada sıralamak için kullanılır.
  • Hem DESC hem de ASC, ORDER BY anahtar sözcüğü ile birlikte çalışır. WHERE yan tümcesi ve LIMIT gibi diğer anahtar kelimelerle birlikte de kullanılabilirler.
  • Açıkça hiçbir şey belirtilmediğinde ORDER BY için varsayılan ASC'dir.