COUNT ile MySQL Sayısı Eşleşen Kayıtlar

Mysql Count Matching Records With Count



Veri fazlalığı birçok nedenden dolayı oluşur. Veritabanı sistemleriyle çalışırken üstesinden gelmeniz gereken karmaşık görevlerden bazıları, yinelenen değerleri keşfetmeye çalışmaktır. Bu amaçla COUNT() toplama yöntemini kullanacağız. COUNT() yöntemi, belirli bir tabloda bulunan satırların toplamını döndürür. COUNT() işlevi, tüm satırları veya yalnızca tanımlanan koşulla eşleşen satırları toplamanıza izin verir. Bu kılavuzda, COUNT() kullanarak bir veya daha fazla MySQL sütunu için yinelenen değerleri nasıl tanımlayacağınızı öğreneceksiniz. COUNT() yöntemi aşağıdaki üç türe sahiptir:

  • SAYMAK(*)
  • COUNT(ifade)
  • COUNT(DISTINCT ifade)

Sisteminizde MySQL'in kurulu olduğundan emin olun. MySQL komut satırı istemci kabuğunu açın ve devam etmek için parolanızı girin. COUNT() yöntemini kullanarak eşleşen değerleri saymak için bazı örneklere bakacağız.









Şema 'verilerimizde' bir 'sosyal' tablomuz var. Aşağıdaki sorgu ile kaydını kontrol edelim.



>> SEÇME * İTİBAREN veri .Sosyal;





MySQL SAYISI(*)

COUNT(*) yöntemi, tabloda bulunan satır sayısını veya verilen koşula göre satır sayısını saymak için kullanılır. Bir tablodaki toplam satır sayısını kontrol etmek için 'sosyal' aşağıdaki sorguyu deneyin. Sonuca göre tabloda toplam 15 satır var.

>> SEÇME SAYMAK (*) İTİBAREN veri .Sosyal;



Bazı koşulları tanımlarken COUNT(*) yöntemine bir göz atın. Kullanıcı adının 'Mustafa' ile aynı olduğu satır sayısını getirmeliyiz. Bu özel isim için sadece 4 kaydımız olduğunu görebilirsiniz.

>> SEÇME SAYMAK (*) İTİBAREN veri .Sosyal NEREDE kullanıcı =‘Mustafa’;

Kullanıcıların web sitesinin 'Instagram' olduğu satırların toplamını almak için aşağıda belirtilen sorguyu deneyin. 'Sosyal' tablosunda 'Instagram' web sitesi için sadece 4 kayıt var.

>> SEÇME SAYMAK (*) İTİBAREN veri .Sosyal NEREDE İnternet sitesi='Instagram';

'Yaş'ın 18'den büyük olduğu toplam satır sayısını almak için aşağıdaki gibidir:

>> SEÇME SAYMAK (*) İTİBAREN veri .Sosyal NEREDE Yaş> 18;

Kullanıcı adının 'M' harfi ile başladığı bir tablodan 'Kullanıcı' ve 'Web Sitesi' sütunlarının verilerini alalım. Kabuk üzerinde aşağıdaki talimatı deneyin.

>> SEÇME kullanıcı ,İnternet sitesi İTİBAREN veri .Sosyal NEREDE kullanıcı sevmek 'M%';

MySQL SAYISI(ifade)

MySQL'de COUNT(ifade) yöntemi yalnızca 'ifade' sütununun Null olmayan değerlerini saymak istediğinizde kullanılır. 'İfade' herhangi bir sütunun adı olacaktır. Buna basit bir örnek verelim. Yalnızca, '25' değerine sahip 'Yaş' sütunuyla ilgili olan bir 'Web Sitesi' sütununun boş olmayan değerlerini sayıyoruz. Görmek! Web sitelerini kullanan '25' yaşındaki kullanıcılar için sadece 4 boş olmayan kaydımız var.

>> SEÇME SAYMAK (İnternet sitesi) İTİBAREN veri .Sosyal NEREDE Yaş= 25;

MySQL SAYISI(DISTNCT ifadesi)

MySQL'de, 'ifade' sütununun Null olmayan değerleri ve farklı değerlerini toplamak için COUNT(DISTINCT ifade) yöntemi kullanılır. 'Yaş' sütununda farklı sayıda boş olmayan değeri saymak için aşağıdaki sorguyu kullanıyoruz. 'Sosyal' tablosundan 'Yaş' sütununun boş olmayan ve farklı 6 kaydını bulacaksınız. Bu, farklı yaşlarda toplam 6 kişimiz olduğu anlamına gelir.

>> SEÇME SAYMAK ( BELİRGİN Yaş) İTİBAREN veri .Sosyal;

MySQL SAYISI(EĞER(ifade))

Büyük vurgu için, COUNT() öğesini akış kontrol işlevleriyle birleştirmelisiniz. Yeni başlayanlar için, COUNT() yönteminde kullanılan ifadenin bir kısmı için IF() işlevini kullanabilirsiniz. Bir veritabanı içindeki bilgilerin hızlı bir şekilde dökümünü sağlamak için bunu yapmak çok faydalı olabilir. Farklı yaş koşullarına sahip satırları sayarak kategoriler olarak adlandırabileceğimiz üç farklı sütuna ayıracağız. İlk olarak, COUNT(IF) yaşı 20'den küçük olan satırları sayacak ve bu sayıyı 'Teenage' adlı yeni bir sütuna kaydedecektir. İkinci COUNT(IF), 'Genç' sütununa kaydederken yaşları 20 ile 30 arasında olan satırları sayıyor. Üçüncüsü, sonuncusu 30'dan büyük olan ve 'Yetişkin' bir sütuna kaydedilen satırları sayar. Kayıtlarımızda 5 genç, 9 genç ve sadece 1 olgun insan var.

>> SEÇME SAYMAK ( EĞER (Yaş< yirmi,1, BOŞ ))'Genç', SAYMAK ( EĞER (Yaş ARASINDA yirmi VE 30,1, BOŞ ))'Genç', SAYMAK ( EĞER (Yaş> 30,1, BOŞ ))'Olgun' İTİBAREN veri .Sosyal;

GROUP BY Cümlesi ile MySQL COUNT(*)

GROUP BY ifadesi, aynı değerlere sahip grup satırları için kullanılan bir SQL komutudur. Her grupta bulunan toplam değer sayısını döndürür. Örneğin, her kullanıcının numarasını ayrı ayrı kontrol etmek istiyorsanız, COUNT(*) ile her kullanıcı için kayıtları sayarken GROUP BY deyimi ile 'Kullanıcı' sütununu tanımlamanız gerekir.

>> SEÇME kullanıcı , SAYMAK (*) İTİBAREN veri .Sosyal GRUP TARAFINDAN kullanıcı ;

Aşağıdaki gibi GROUP BY deyimi ile birlikte satır sayımı yaparken ikiden fazla sütun seçebilirsiniz.

>> SEÇME kullanıcı ,Yaş,İnternet sitesi, SAYMAK (*) İTİBAREN veri .Sosyal GRUP TARAFINDAN İnternet sitesi;

GROUP BY ve COUNT(*) ile birlikte içinde bazı koşullar bulunan WHERE yan tümcesini kullanırken satırları saymak istiyorsak, bunu da yapabilirsiniz. Aşağıdaki sorgu, web sitesi değerinin yalnızca 'Instagram' ve 'Snapchat' olduğu 'Kullanıcı', 'Web Sitesi' ve 'Yaş' sütunlarının kayıtlarını getirecek ve sayacaktır. Her iki web sitesi için farklı kullanıcılar için sadece 1 kaydımız olduğunu görebilirsiniz.

>> SEÇME kullanıcı ,İnternet sitesi,Yaş, SAYMAK (*) İTİBAREN veri .Sosyal NEREDE İnternet sitesi='Instagram' Veya İnternet sitesi='Snapchat' GRUP TARAFINDAN İnternet sitesi,Yaş;

GROUP BY ve ORDER BY Cümlesi ile MySQL COUNT(*)

GROUP BY ve ORDER BY yan tümcelerini COUNT() yöntemiyle birlikte deneyelim. Bu sorguyu kullanarak verileri azalan düzende düzenlerken 'sosyal' tablosunun satırlarını getirip sayalım:

>> SEÇME kullanıcı ,İnternet sitesi,Yaş, SAYMAK (*) İTİBAREN veri .Sosyal GRUP TARAFINDAN Yaş TARAFINDAN SİPARİŞ SAYMAK (*) TANIM ;

Aşağıda belirtilen sorgu önce satırları sayar, ardından COUNT değeri 2'den büyük olan tek kayıtları artan sırada görüntüler.

>> SEÇME kullanıcı ,Yaş, SAYMAK (*) İTİBAREN veri .Sosyal GRUP TARAFINDAN Yaş SAHİP SAYMAK (*) > 2 TARAFINDAN SİPARİŞ SAYMAK (*) ASC ;

Çözüm

Farklı diğer tümcelerle COUNT() yöntemini kullanarak eşleşen veya yinelenen kayıtları saymak için tüm olası yöntemleri inceledik.