C# istatistiksel Sorgulamalar || Kaynak Kodlar || Örnek Proje

 C# istatistiksel Sorgulamalar || Kaynak Kodlar || Örnek Proje
Okunuyor C# istatistiksel Sorgulamalar || Kaynak Kodlar || Örnek Proje

Selamun aleyküm arkadaşlar c# konusunda gün geçtikçe yeni bilgiler yeni otomasyonlar paylaşmaya devam ediyoruz.Bugünkü konumuz  C# istatistiksel Sorgulamalar bu yaptığınız herhangi bir otomasyonunun cari modülünü kodlarken mutlaka ihtiyaç duyacağınız kodları içerir.Gelin beraber kodlarımızı inceleyelim.

 

 İSTATİSTİKSEL SORGULAMALAR 



Örnek Projemizi İndirin Kodları Projeden İnceleyin (Tıkla İndir)

HAVING Kullanımı

HAVING yapısı temelde WHERE ile aynı görevi yapmaktadır . GROUP BY ile kullanılır. Where ifadesi ile belirtilen kriter Group By uygulanmadan önce geçerli olurken, Having ifadesi ile belirtilen kriter ise group by uygulandıktan sonra ortaya çıkan verileri filtrelemek için kullanılır.
Ayrıca Where ifadesinden sonra sum, avg gibi fonksiyonlar kullanılamazken, Having ile kullanılabilir.Gelin kullanım yapısını inceliyeyim.[ads1]

HAVING Kullanım Örneği

SELECT Alan_Adı From Tablo_Adı Group By Alan_Adi Having Alan_Adı Operatör Değer

Örnek operatörler:  ile belirtilen yere =, <, >, % gibi operatörler kullanılır.

Örnek Proje Üzerinden Gidelim Önce Tablomuzu Oluşturuyoruz.

[ads1]

 

Örnek Projeye Veri Girişi Yapıyoruz

Personel
id Personel_Adi Sehir Maas
1 Ramazan Şerif Samsun 150
2 Muhammed Adıgüzel İstanbul 4500
3 Bariş Atananboğa Ordu 7000

 

Projemizin Kodluyoruz.

using System.Data.OleDb;//access veritabanı bağlantımız için ekledik

Öncelikle tepeye kütüphanemizi ekledik.

OleDbConnection Baglan = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=veritabani.accdb");
        //bağlantı kodunu oluşturduk
        OleDbDataAdapter adaptor;
        //bir adet adaptor oluşturduk gridwiew doldurmak için

Global 2 değişkenimizi oluşturduk.

private void button1_Click(object sender, EventArgs e)
        {
            Baglan.Open(); // bağlantıyı açtık
            adaptor = new OleDbDataAdapter("Select Sehir, Sum (Maas) as Toplam_Maas From Personel Where Maas>2000 Group By Sehir",Baglan);
            //örnek kodumuzu yapiştirdık peki bu kodda ne diyor sehirdeki maaş toplamlarını personel tablosundaki çek ama neye göre maaşı 2000 TL Üzeri olana göre
            DataTable tablo = new DataTable();//datatable oluşturduk
            adaptor.Fill(tablo);//oluşturdumuz adapteri tabloya aktardık
            dataGridView1.DataSource = tablo;//oluşan tabloyuda gridwiewe aktardık
            Baglan.Close();// bağlantıyı kapattık

        }

Formumuza koydumuz botton1 in çift tıklama olayına kodlarımızı yazdık.

[ads1]

Projemizin Çıktısı

Bu örnekte WHERE kullanılarak maaşı 2000 TL den fazla olan personeller seçilmiş ve bunlar
gruplanarak illere maaşları toplamları bulunmuştur.
Burada görüleceği üzere WHERE ifadesi ile önce ki kriteri belirttik ve tablomuzdaki bazı kayıtlar
devre dışı bıraktık. Sonrada kalan kayıtları grupladık.

[ads1]

2. Bir örneğimizde ise Farklı bir sorgu yapalım.Öncelikle bunun için veritabanına aşşağıdaki Veriyide giriş yaptım.

Personel
id Personel_Adi Sehir Maas
4 Akbuz Samsun 250

Forma 1 Buton Daha Ekleyip Aşşağıdaki Kodları Ekliyorum.

private void button2_Click(object sender, EventArgs e)
        {
            Baglan.Open(); // bağlantıyı açtık
            adaptor = new OleDbDataAdapter("Select Sehir,Sum (Maas) as Toplam_Maas From Personel where maas<2000 Group By Sehir Having Sehir Like 'S%'", Baglan);
            //örnek kodumuzu yapiştirdık peki bu kodda ne diyor sehirdeki maaş toplamlarını personel tablosundaki çek ama neye göre maaşı 2000 TL Altı olan VEE
            //İsminin içerisinde S harfi başlayan şehir
            DataTable tablo = new DataTable();//datatable oluşturduk
            adaptor.Fill(tablo);//oluşturdumuz adapteri tabloya aktardık
            dataGridView1.DataSource = tablo;//oluşan tabloyuda gridwiewe aktardık
            Baglan.Close();// bağlantıyı kapattık
        }

Projemizin Çıktısı

[ads1]

Samsundaki 2 Kişinin Maaşını Topladı -Toplam Maaş Sutünü olarak gösterdi Peki Sivaslı birini daha Eklesek Ne olurdu ?

Sivas Diye bi column daha açar oraya girdiğimiz maaşları toplardı.

Kodumuz tam olarak “S”  Harfi İle başlayan Şehirleri Listeliyor.Birbiriyle Aynı İsimde oLan Şehirleri birlikte Topluyor.Ve maaşın 2000 TL altı olmasına dikkat ediyor.

 

HAVING Kullanma Kuralları

• Select komutunda GROUP BY yoksa HAVING geçersiz olur.
• HAVING sözcüğünü izleyen ifade içinde SUM, MIN, MAX, AVG, COUNT fonksiyonlarındanen az biri mutlaka olmalıdır.
• HAVING sözcüğü sadece ve sadece gruplanmış verilerin işlemleri iç in geçerlidir.
• WHERE ile birlikte bir Select komutu içinde kullanılabilir .

[ads1]

WHERE ve HAVING arasındaki fark:

WHERE bir tablonun tek satırları üzerinde işlem yapan koşullar içinde geçerlidir. HAVING gruplanmış verilerin işlemleri için geçerlidir.



Diğer yazılım makalelerimiz için

Facebook Grubumuz İçin Tıklayın

Seo Keyword
C# istatistiksel Sorgulamalar , C# istatistiksel Sorgulamalar , C# istatistiksel Sorgulamalar , C# istatistiksel Sorgulamalar , C# istatistiksel Sorgulamalar

Yapılan Yorumlar

Bir Cevap Yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.