logo

GRUP BY ve SİPARİŞ BY

Bu makalede, GROUP BY ve ORDER BY yan tümcesine tam bir genel bakış açıklanmaktadır. Esas olarak SQL sorguları tarafından elde edilen verileri düzenlemek için kullanılırlar. Bu cümleler arasındaki fark, öğrenirken en sık takılıp kalınan yerlerden biridir. SQL . Aralarındaki temel fark şudur GROUP BY deyimi, toplama işlevlerini birden fazla satır kümesinde kullanmak istediğimizde uygulanabilir. ORDER BY deyimi, bir sorgu tarafından elde edilen verileri sıralama düzeninde almak istediğimizde uygulanabilir. . Karşılaştırma yapmadan önce öncelikle bu SQL cümlelerini bileceğiz.

GRUP BY ve SİPARİŞ BY

SİPARİŞ BY Maddesi

ORDER BY cümlesi, SQL sorgularında, bir sorgu tarafından döndürülen verileri artan veya azalan sırada sıralamak için kullanılır. Sıralama düzenini atlarsak, özetlenen sonuç varsayılan olarak artan düzende sıralanır. ORDER BY yan tümcesi, GROUP BY yan tümcesi gibi, SELECT ifadesiyle birlikte kullanılabilir. ASC artan sırayı belirtirken TANIM azalan sırayı ifade eder.

ORDER BY yan tümcesini bir SQL deyiminde kullanmanın sözdizimi aşağıdadır:

çekirdek java
 SELECT expressions FROM tables [WHERE conditions] ORDER BY expression [ ASC | DESC ]; 

Aşağıdaki örnek yardımıyla ORDER BY cümlesinin nasıl çalıştığını anlayalım. Diyelim ki bir masamız var geliştirici aşağıdaki verileri içerir:

GRUP BY ve SİPARİŞ BY

Bu sonuçların düzenli bir şekilde görüntülenmediğini görebiliriz. Sonuçları artan veya azalan sırada düzenlemek istediğimizi varsayalım. durum sütunu . Bu durumda istenilen sonucu elde etmek için ORDER BY komutuna ihtiyacımız olacaktır. Bunu aşağıdaki komutu çalıştırarak yapabiliriz:

 mysql> SELECT D_name, D_state, D_salary FROM developers ORDER BY D_state ASC; 

İstenilen sonuçları elde edeceğimiz çıktı şu şekildedir:

GRUP BY ve SİPARİŞ BY

GRUP BY Madde

GROUP BY deyimi, SQL sorgularında aynı nitelik değerlerine sahip verileri düzenlemek için kullanılır. Genellikle SELECT deyimiyle birlikte kullanırız. GROUP BY deyimini WHERE deyiminden sonra koymamız gerektiğini her zaman unutmamalıyız. Ek olarak, ORDER BY yan tümcesinden önce tempolanır.

Veritabanından özet raporlar üretmek için bu maddeyi sıklıkla SUM, AVG, MIN, MAX ve COUNT gibi toplu işlevlerle işbirliği içinde kullanabiliriz. Bu yan tümcedeki özniteliğin bir toplama işlevi altında değil, SELECT yan tümcesinde görünmesi gerektiğini unutmamak önemlidir. Bunu yaparsak sorgu hatalı olur. Sonuç olarak, GROUP BY yan tümcesi her zaman SELECT yan tümcesiyle birlikte kullanılır. GROUP BY yan tümcesinin sorgusu gruplandırılmış bir sorgudur ve gruplandırılmış her nesne için tek bir satır döndürür.

jdüğmesi

Bir SQL deyiminde GROUP BY yan tümcesini kullanmak için kullanılan sözdizimi aşağıdadır:

 SELECT column_name, function(column_name) FROM table_name WHERE condition GROUP BY column_name; 

GROUP BY deyiminin nasıl çalıştığını bir örnek yardımıyla anlayalım. Burada bunu aynı tabloyla göstereceğiz.

Diyelim ki bilmek istiyoruz geliştiricinin belirli bir eyaletteki ortalama maaşı ve sonuçları durum sütununa göre azalan sırada düzenleyin. Bu durumda istenilen sonucu elde etmek için hem GROUP BY hem de ORDER BY komutuna ihtiyacımız olacaktır. Bunu aşağıdaki komutu çalıştırarak yapabiliriz:

 mysql> SELECT D_state, avg(D_salary) AS salary FROM developers GROUP BY D_state ORDER BY D_state DESC; 

Bu sorgu başlangıçta durumu gruplandıran bir ara sonuç oluşturdu. Daha sonra, AVG fonksiyon her bir durum grubu üzerinde gerçekleştirilir, ardından sonucu azalan düzende sıralar ve son olarak aşağıda gösterildiği gibi istenen sonuçları elde ederiz:

GRUP BY ve SİPARİŞ BY

GROUP BY ve ORDER BY arasındaki Temel Farklılıklar

Group By ve Order By cümlecikleri arasındaki temel farklar şunlardır:

  • Group By cümlesi, verileri belirli bir sütundaki aynı değere göre gruplamak için kullanılır. ORDER BY cümleciği ise sonucu sıralar ve artan veya azalan sırada gösterir.
  • Gruplandırma Ölçütü'nü kullanmak için toplama işlevinin kullanılması zorunludur. Öte yandan, Order By işlevini kullanmak için toplama işlevinin kullanılması zorunlu değildir.
  • Öznitelik, toplama işlevi altında GROUP BY ifadesinin altında olamazken, öznitelik, toplama işlevi altında ORDER BY ifadesinin altında olabilir.
  • Group By cümlesi, tanımlama gruplarının sunumunu kontrol eder; bu, gruplandırmanın satırın nitelik değerleri arasındaki benzerliğe göre yapıldığı anlamına gelir. Buna karşılık, ORDER BY yan tümcesi sütunların sunumunu kontrol eder; bu, sıralama veya sıralamanın sütunun öznitelik değerlerine göre artan veya azalan sırada yapıldığı anlamına gelir.
  • GROUP BY her zaman WHERE yan tümcesinden sonra ancak ORDER BY ifadesinden önce yerleştirilir. Öte yandan ORDER BY her zaman GROUP BY deyiminden sonra kullanılır.

GRUP BY ve SİPARİŞ BY Karşılaştırma Tablosu

Aşağıdaki karşılaştırma tablosu temel farklarını hızlı bir şekilde açıklamaktadır:

SN GRUPLANDIRMA ŞEKLİ TARAFINDAN SİPARİŞ
1. Aynı değere sahip satırları gruplamak için kullanılır. Sonuç kümesini artan veya azalan düzende sıralar.
2. CREATE VIEW deyiminde buna izin verilebilir. CREATE VIEW deyiminde buna izin verilmiyor
3. Satırların sunumunu kontrol eder. Sütunların sunumunu kontrol eder.
4. Öznitelik, GROUP BY ifadesi altındaki toplama işlevi altında olamaz. Özellik, ORDER BY ifadesinin altındaki toplama işlevi altında olabilir.
5. SELECT deyiminde her zaman ORDER BY yan tümcesinden önce kullanılır. SELECT deyiminde her zaman GROUP BY deyiminden sonra kullanılır.
6. GROUP BY'de toplu işlevlerin kullanılması zorunludur. ORDER BY'de toplu işlevlerin kullanılması zorunlu değildir.
7. Burada gruplandırma, satırın nitelik değerleri arasındaki benzerliğe göre yapılır. Burada sonuç kümesi, sütunun öznitelik değerlerine göre artan veya azalan düzende sıralanır.

Çözüm

Bu makalede GROUP BY ve ORDER BY cümleleri karşılaştırılmıştır. Her iki cümle de son derece kullanışlı SQL veritabanı özellikleridir. Bir grup satır oluşturmak istediğimizde GROUP BY deyimini kullanırız. Verileri belirli bir sütuna göre artan veya azalan sırada düzenlemek istiyorsak ORDER BY deyimini kullanırız. Her ikisi de iki farklı amaç için kullanıldığı için aralarında herhangi bir ilişki yoktur. Ancak duruma göre özel bir amaca hizmet edecek şekilde birleştirebileceğimiz gibi tek tek de kullanabiliriz. Bu cümleleri yalnızca SELECT ifadesi ile kullanabiliriz.

java tarihi şimdi