SQL Toplama İşlevlerinde HAVING Cümlesi

Bu öğreticide, SQL toplama işlevlerinde HAVING Maddesini kullanabileceğimiz veya yürütebileceğimiz birkaç yolu tartışacağız . Bu yan tümceyi SQL toplama işlevlerinde kullanmak, veri özetlemede büyük ölçüde yardımcı olabilir.

HAVING Cümlesi neredeyse WHERE deyimine benzer ve onunla birlikte de çalıştırılabilir.

Bu eğitimde ilerlerken örnekler vererek bunların korelasyonlarını ve farklılıklarını tartışacağız.

İçindekiler

SQL'de GROUP BY ve WHERE İfadeleri

İlk örneğimiz için, aşağıdaki örnek tabloyu kullanarak WHERE deyimini ve GROUP BY'ı nasıl çalıştıracağımızı tartışacağız . Lütfen WHERE yan tümcesini yalnızca mevcut sütunlarla kullanabileceğimizi ve yalnızca toplu işlevlerde kullanamayacağımızı unutmayın .

SQL Toplama İşlevlerinde HAVING Cümlesi

Değerin 2'den büyük olduğu SaleAmount sütununa göre bir ürünün Toplam Satışını almak istediğimizi varsayalım . Sonucu elde etmek için komutumuz aşağıdaki gibi olmalıdır:

SQL Toplama İşlevlerinde HAVING Cümlesi

İlk olarak, ÜrünAdı'nı seçiyoruz ve Toplam Satış'ı elde etmek için Satış Tutarı'nı topluyoruz

SQL Toplama İşlevlerinde HAVING Cümlesi

Daha sonra, sadece SaleAmount değeri 2'den büyük olan ürünleri almaya çalıştığımız için burada WHERE deyimini kullandık. 'GROUP BY ProductName' komutu, ÜrünAdı sütunu altındaki satırları bir satırda gruplayacağını belirtir .

Komut dizimizi yürüterek , ProductName ve SaleAmount sütunları altındaki tüm verilerden yalnızca Bulb ve Fan'ın görüntülendiğini göreceğiz . Bunun nedeni, 2'den büyük bir SaleAmount'a sahip olan sadece onlardı .

SQL Toplama İşlevlerinde HAVING Cümlesi

Bu örnekte, WHERE deyimi, bizim SaleAmount olan mevcut bir sütunla sonuçları filtrelemek içindir . Ayrıca, WHERE deyiminin GROUP BY'den önce göründüğüne ve toplama işlevlerini filtrelemek için kullanılamayacağına dikkat edin. Öte yandan, HAVING yan tümcesi GROUP BY'den sonra gelir ve bir toplama işlevine dayalı filtreleme için kullanılır. 

GROUP BY ve SQL'de HAVING Cümlesi

Bu örnekte, WHERE ifadesi ile HAVING yan tümcesi arasındaki farkı göstereceğiz . Sonuçları karşılaştırıp değerlendirebilmek için önceki örnekte sahip olduğumuz aynı hedefi kullanacağız. 

Aşağıdaki komutu kullanarak ürünleri ilk olarak toplam satışları ile birlikte görüntüleyelim. Gördüğünüz gibi ilk komutumuz, WHERE deyimini çalıştıran ilk komutumuzla hala aynı .

SQL Toplama İşlevlerinde HAVING Cümlesi

İlk iki komutumuzu çalıştırırsak, aşağıdaki sonucu elde ederiz:

SQL Toplama İşlevlerinde HAVING Cümlesi

Şimdi sadece toplam satışı 5'ten fazla olan ürünleri göstermek istediğimizi varsayalım. WHERE  deyimi sadece mevcut sütunlarla kullanılabildiği için kullanamıyoruz . Bu nedenle, bir toplama işlevinden filtreleme yapacağımız için  HAVING yan tümcesini kullanmamız gerekir .

SQL Toplama İşlevlerinde HAVING Cümlesi

GROUP BY'den önce kullanılan WHERE ifadesinden farklı olarak GROUP BY'den sonra HAVING yan tümcesini nasıl kullandığımıza dikkat edin . Bunun nedeni, SQL'in HAVING yan tümcesini değerlendirmeden önce kayıtları gruplandırmasıdır. 

Daha sonra HAVING SUM(SaleAmount)>5 ile birlikte bu komutları çalıştıralım . Yalnızca toplam fiyatı 5'ten büyük olan ürünleri almak istediğimizi belirttikten sonra , mevcut sonuç tablomuzda artık Kalemi görmeyeceğimizi fark edeceğiz . Bunun nedeni, toplamının 5'ten küçük olmasıdır . 

SQL Toplama İşlevlerinde HAVING Cümlesi

Özetle, mevcut bir sütuna göre tablomuzdaki verileri filtrelemek istediğimizde WHERE yan tümcesini , bir toplama işlevindeki verileri filtrelemek istediğimizde ise HAVING yan tümcesini kullanırız . 

SQL Server Management Studio'da (SSMS) HAVING Ve WHERE Maddesi

Şimdi SQL Server Management Studio'da ( SSMS) HAVING yan tümcesini nasıl yürütebileceğimizi tartışarak ve göstererek ilerleyeceğiz . Ayrıca örnekler vererek HAVING yan tümcesi ile WHERE yan tümcesi arasındaki farkı ele alacağız .

Aşağıda gösterilen örnek verilerimiz SalesOrderHeader'dır. Bu veri 100 satırdan oluşmaktadır . Örneğimiz için, TotalSale'in 10000'den büyük olduğu Müşteri Kimliğine göre TotalSale'i almak istiyoruz . Toplam satışın, TotalDue sütun değerlerinin toplamına bağlı olduğunu unutmayın .

SQL Toplama İşlevlerinde HAVING Cümlesi

Öncelikle, yukarıdaki örneğimize dayalı olarak bir toplama işlevini filtrelemek istediğimizde  neden WHERE yan tümcesini kullanamayacağımızı göstereyim .

Aşağıdaki görüntüdeki örnek komut setini kullanacağız. Gördüğünüz gibi, teknik olarak ilk örneğimizde sahip olduğumuz komutların aynısına sahibiz.

Ancak sol üst köşedeki Execute'a tıkladığımızda agrega fonksiyonu üzerinde filtreleme yaparken WHERE yan tümcesini tek başına kullanamadığımız için hata verecektir .

SQL Toplama İşlevlerinde HAVING Cümlesi

Hatayı düzeltmek için WHERE yan tümcesi yerine HAVING yan tümcesini kullanarak sonucu filtrelememiz gerekir . Yeni komut setimiz aşağıdaki görüntüye benzer olmalıdır.

SQL Toplama İşlevlerinde HAVING Cümlesi

Artık hatamızın düzeltildiğini ve 10000'den büyük bir TotalSale ile CustomerID başına sonuçları içerdiğini görebiliriz .

Yine, WHERE yan tümcesi her zaman GROUP BY yan tümcesinden önce kullanılırken , HAVING yan tümcesi her zaman bir GROUP BY yan tümcesinden sonra kullanılır .

SQL'de HAVING Cümlesini ve WHERE Cümlesini Kullanmak  

Bu örnek için, WHERE ve HAVING yan tümcesini aynı anda kullanmak istediğimizi varsayalım . TotalSale'i CustomerID'ye göre almayı deneyelim, burada TotalSale 10000'den büyük , ancak yalnızca TerritoryID'leri 1'e eşit olan müşterilerle . 

TerritoryID değeri 1 olan müşterilerle sonuçları filtrelemek istediğimiz için WHERE yan tümcesini kullanacağız . Yani komutumuz bir öncekiyle aynı olmalı. Yine, GROUP BY yan tümcesinden önce bir WHERE yan tümcesi ekledik .

SQL Toplama İşlevlerinde HAVING Cümlesi

Şimdilik, önceki sonucumuz ile bu yeni sonuç arasında pek bir fark göremiyoruz. Ancak, sağ alt köşeye yakından bakarsanız, 505 satırlık veri içeren bir öncekine kıyasla artık yalnızca 64 satırımız var . Bunun nedeni, sonuçların TerritoryID'lerine göre de filtrelenmesidir .

Çözüm

Özetlemek gerekirse, WHERE yan tümcesini yalnızca mevcut sütunlarla kullanabiliriz . Toplu işlevlerle filtrelememiz gerekirse, bunun yerine HAVING yan tümcesini kullanmamız gerekir.

HAVING yan tümcesini SQL toplama işlevlerinde kullanmak ve HAVING yan tümcesi ile WHERE yan tümcesini birlikte yürütme yollarını uygulamak, çok sayıda veri veya kayıt üzerinde çalışırken kullanıcılara kolaylık sağlayabilir. 

Umarım size SQL toplama işlevlerinde HAVING yan tümcesinin nasıl kullanılacağına ilişkin yeterli bilgi ve anlayış sağlamışımdır . Bu konu ve diğer ilgili içerik hakkında daha fazla bilgi edinmek isterseniz, aşağıdaki ilgili bağlantıların listesine kesinlikle göz atabilirsiniz.

Herşey gönlünce olsun,

Hafız

Leave a Comment

Excel Hücrelerini Metne Sığdırma: 4 Kolay Çözüm

Excel Hücrelerini Metne Sığdırma: 4 Kolay Çözüm

Excel hücrelerini metne sığdırmak için güncel bilgileri ve 4 kolay çözümü keşfedin.

Bir Excel Dosyasının Boyutu Nasıl Küçültülür – 6 Etkili Yöntem

Bir Excel Dosyasının Boyutu Nasıl Küçültülür – 6 Etkili Yöntem

Bir Excel Dosyasının Boyutunu Küçültmek için 6 Etkili Yöntem. Hızlı ve kolay yöntemler ile verilerinizi kaybetmeden yer açın.

Pythonda Self Nedir: Gerçek Dünyadan Örnekler

Pythonda Self Nedir: Gerçek Dünyadan Örnekler

Python'da Self Nedir: Gerçek Dünyadan Örnekler

Rde Bir RDS Dosyası Nasıl Kaydedilir ve Yüklenir

Rde Bir RDS Dosyası Nasıl Kaydedilir ve Yüklenir

R'de bir .rds dosyasındaki nesneleri nasıl kaydedeceğinizi ve yükleyeceğinizi öğreneceksiniz. Bu blog aynı zamanda R'den LuckyTemplates'a nesnelerin nasıl içe aktarılacağını da ele alacaktır.

İlk N İş Günü Tekrar Ziyaret Edildi – Bir DAX Kodlama Dili Çözümü

İlk N İş Günü Tekrar Ziyaret Edildi – Bir DAX Kodlama Dili Çözümü

Bu DAX kodlama dili eğitiminde, GENERATE işlevinin nasıl kullanılacağını ve bir ölçü başlığının dinamik olarak nasıl değiştirileceğini öğrenin.

LuckyTemplatesda Çok İş Parçacıklı Dinamik Görsel Tekniği Kullanarak Öngörüleri Sergileyin

LuckyTemplatesda Çok İş Parçacıklı Dinamik Görsel Tekniği Kullanarak Öngörüleri Sergileyin

Bu eğitici, raporlarınızdaki dinamik veri görselleştirmelerinden içgörüler oluşturmak için Çok Kanallı Dinamik Görseller tekniğinin nasıl kullanılacağını kapsayacaktır.

LuckyTemplatesda İçeriği Filtrelemeye Giriş

LuckyTemplatesda İçeriği Filtrelemeye Giriş

Bu yazıda, filtre bağlamından geçeceğim. Filtre bağlamı, herhangi bir LuckyTemplates kullanıcısının başlangıçta öğrenmesi gereken en önemli konulardan biridir.

LuckyTemplates Çevrimiçi Hizmetindeki Uygulamaları Kullanmak İçin En İyi İpuçları

LuckyTemplates Çevrimiçi Hizmetindeki Uygulamaları Kullanmak İçin En İyi İpuçları

LuckyTemplates Apps çevrimiçi hizmetinin çeşitli kaynaklardan oluşturulan farklı raporların ve içgörülerin yönetilmesine nasıl yardımcı olabileceğini göstermek istiyorum.

Fazla Mesai Kâr Marjı Değişikliklerini Analiz Edin - LuckyTemplates ve DAX ile Analitik

Fazla Mesai Kâr Marjı Değişikliklerini Analiz Edin - LuckyTemplates ve DAX ile Analitik

LuckyTemplates'da ölçü dallandırma ve DAX formüllerini birleştirme gibi teknikleri kullanarak kâr marjı değişikliklerinizi nasıl hesaplayacağınızı öğrenin.

DAX Studioda Veri Önbellekleri İçin Materyalleştirme Fikirleri

DAX Studioda Veri Önbellekleri İçin Materyalleştirme Fikirleri

Bu öğreticide, veri önbelleklerini gerçekleştirme fikirleri ve bunların DAX'ın sonuç sağlama performansını nasıl etkilediği tartışılacaktır.