mysql count count distinct with examples
Örneklerle MySQL COUNT işlevinin çeşitli biçimlerinin kullanımları hakkında bilgi edinin:
COUNT basit bir toplama işlevidir, ancak çok etkilidir ve yaygın olarak kullanılır. Çok basit bir deyişle, belirli bir SELECT sorgusu ve ölçütüne göre satır sayısını COUNT yapmak için kullanılır.
Bu eğitimde basit COUNT, koşullarla COUNT, DISTINCT ile COUNT, GROUP BY ile COUNT vb. Sözdizimi ve kullanımı açıklanacaktır.
Ne öğreneceksin:
Çeşitli MySQL COUNT Türleri
Tür | Açıklama | Sözdizimi |
---|---|---|
MİKTAR(*) | COUNT (*) işlevi no. NULL ve Yinelenen değerleri içeren satırlar da dahil olmak üzere SELECT ifadesi tarafından alınan satır sayısı | {TableName} TABLOSUNDAN COUNT (*) SEÇİN |
COUNT (İfade) | COUNT (ifade), ifadenin boş olmadığı değeri sayar. İfade, sütun adı gibi basit bir şey veya IF İşlevi gibi karmaşık bir ifade olabilir. | {TableName} tablosundan COUNT (İfade) SEÇİN |
COUNT (DISTINCT İfadesi) | COUNT (DISTINCT ifadesi) - DISTINCT anahtar sözcüğü, ifadeye karşı yalnızca benzersiz boş olmayan değerlerin sayılmasına neden olur. Örneğin - COUNT (DISTINCT customerName) - yalnızca müşteri adı için farklı değerlere sahip satırları sayar | {TableName} tablosundan COUNT (DISTINCT ifadesi) SEÇİN |
MySQL COUNT Örnekleri
Test verisi
MySQL COUNT işlevi örnekleri için aşağıdaki tabloları ve verileri kullanacağız.
Tablolar:
# 1) Ürün_Ayrıntıları
Bir mağazada çeşitli ürünlerin ayrıntılarını saklar
- product_id - INT
- product_name - VARCHAR
- fiyat - ONDALIK
- category_id - INT (FOREIGN KEY - Category_Details tablosundaki id)
# 2) Category_Details:
bir dizi nesne nasıl oluşturulur
- category_id: INT
- kategori_adı: VARCHAR
Aşağıdaki sorguları kullanarak tablolar oluşturalım ve sahte veriler ekleyelim:
CREATE TABLE `product_details` ( `product_id` int NOT NULL, `product_name` varchar(100), `price` decimal(5,2), `category_id` int, FOREIGN KEY (category_id) REFERENCES category_details(category_id), PRIMARY KEY(product_id) ) CREATE TABLE `category_details` ( `category_id` int NOT NULL, `category_name` varchar(100), PRIMARY KEY(category_id) ) INSERT INTO `category_details` (`category_id`,`category_name`) VALUES (1,'FMCG'),(2,'FURNITURE'),(3,'FASHION'),(4,'APPLIANCES'),(5,'ELECTRONICS'); INSERT INTO `product_details` (`product_id`,`product_name`,`price`,`category_id`) VALUES (1,'Biscuits',0.5,1),(2,'Chocolates',1,1), (3, 'Washing Powder',5,1),(4, 'Apple IPhone', 500,5), (5, 'Batteries',2,5),(6,'Floor cleaner',2.5,1),(7,'Jeans- Levis',100,1),(8,'Mixer grinder',50,4),(9,'Capsicum',2,1),(10,'Sugar',1,1),(11,'Study Table',50,2);
Lütfen yukarıda oluşturulan test verileriyle birlikte tabloların resimlerine bakın.
Ürün_Ayrıntılar Tablosu
Kategori_Ayrıntılar Tablosu
Basit COUNT
Bu bölümde COUNT işlevini en basit şekilde göreceğiz.
NULL veya DISTINCT kontrolleri olmadan satır sayısını döndürmek için COUNT kullanacağız.
SELECT COUNT(*) FROM product_details;
Çıktı:
MİKTAR(*) |
---|
on bir |
Yukarıdaki sorgu ile, select deyimine karşı döndürülen satırların sayısını alacağız.
COUNT Koşullu
Şimdi COUNT işlevini koşullar veya sütun değerleri ile kullanacağız.
Misal: Hayır'ı saymak istediğimizi varsayalım. ürün adları için boş olmayan değerlerin olmadığı satırlar.
COUNT işlevinde ifade olarak product_name (veya verilen herhangi bir sütun adını) ekleyebiliriz, bu da NON NULL product_name satırına sahip satır sayısıyla sonuçlanır.
swf dosyası nasıl kullanılır
SELECT COUNT(product_name) FROM product_details;
Bu durumda, çıktı 11 olacaktır (tüm test verilerinin zaten ürün_adı sütunu için değerleri olduğundan)
Çıktı:
COUNT (ürün_adı) |
---|
on bir |
Product_name için NULL değeri olan yeni bir satır ekleyelim.
INSERT INTO `product_details` (`product_id`,`product_name`,`price`,`category_id`) VALUES (12,NULL,0.5,1);
SELECT COUNT(product_name) from product_details;
Yukarıdaki COUNT sorgu, NON NULL ürün_adı içeren tüm satırların sayısını döndürür.
NULL ürün_adı içeren bir satır eklediğimiz için, bu sonuçlarda döndürülmez. Yani çıktı hala 11 satır olacaktır.
Çıktı:
COUNT (ürün_adı) |
---|
on bir |
DISTINCT ile COUNT
Önceki örneklerde, COUNT işlevini bir ifade ile kullandık. Ayrıca, UNIQUE olan tüm NON NULL değerleri elde etmek için ifadeyi DISTINCT komutuyla birleştirebiliriz.
Product_details tablosundan DISTINCT category_id'yi almaya çalışalım.
SELECT COUNT(DISTINCT category_id) from product_details;
Çıktı:
COUNT (DISTINCT category_id) |
---|
4 |
Yukarıda görebileceğiniz gibi - çıktı 4'tür, bu da toplam no. product_details tablosundaki kategori_kimliklerinin sayısı.
GROUP BY ile COUNT
GROUP BY ile birlikte COUNT kullanmak istediğimiz bir örneğe bakalım. Bu, gruplanmış bir sütuna karşı bir COUNT elde edebileceğimiz ve hedef gruplanmış bir sütunun farklı değerlerine bağlı olarak verileri analiz edebileceğimiz önemli bir kombinasyondur.
Örneğin: Hayır'ı bulun. product_details tablosundaki her kategoriye göre ürün sayısı.
SELECT category_id, COUNT(*) FROM product_details GROUP BY category_id;
kimlik kategorisi | MİKTAR(*) |
---|---|
1 | 7 |
iki | 1 |
4 | 1 |
5 | iki |
Yukarıda görebileceğimiz gibi, her category_id için COUNT (*) sütunu, her bir category_id'ye ait olan satırların sayısını temsil eder.
örnekler ve sözdizimi içeren unix komutları
IF ile COUNT
COUNT işlevi içinde EĞER koşulu kullanımına bir örnek görelim. COUNT işlevinin içine bir IF ifadesi yerleştirebilir ve değeri false koşul için NULL olarak ve doğru koşul için boş olmayan herhangi bir değer olarak ayarlayabiliriz.
Her NON NULL değeri, COUNT işlevi ile tek bir satır olarak sayılır.
Örneğin: 20 $ fiyat aralığındaki tüm ürünleri bulmak için COUNT işlevini kullanın.
SELECT COUNT(IF(price >0 AND price<20, 1, NULL)) AS count_less_than_20 FROM product_details;
Çıktı:
count_less_than_20 |
---|
7 |
Yukarıdaki sorguda, fiyat aralığı 0 ile 20 arasında olan tüm ürünlerin COUNT'unu elde ettik. FALSE koşulu için, satır farklı sütun değerleri için değerlendirildiğinde sayılmayan değeri NULL olarak ayarladık. .
JOINS ile COUNT
COUNT, JOIN ifadeleriyle de kullanılabilir. COUNT hayır için geçerli olduğundan. satır sayısı, tek bir tablo veya birden çok tablo üzerinde çalışan bir sorgu kombinasyonuyla JOINS kullanılarak kullanılabilir.
Misal: Hem product_details hem de category_details tablosuna katılın ve product_details tablosundan kategori_adına göre sayıyı bulun.
SELECT category_name, COUNT(category_name) from product_details pd INNER JOIN category_details cd ON cd.category_id = pd.category_id GROUP BY category_name;
Çıktı:
Kategori adı | COUNT (kategori_adı) |
---|---|
FMCG | 7 |
MOBİLYA | 1 |
CİHAZLAR | 1 |
ELEKTRONİK | iki |
İpucu ve Püf Noktası
COUNT işlevinin sonucunu görüntüleyen sütun için Sütun takma adını kullanma: COUNT işlevinin sonuçlarını görüntüleyen sütun için kullanıcı tanımlı sütun adlarına sahip olmak için COUNT işleviyle birlikte bir Sütun takma adı kullanabiliriz.
Örneğin: Category_details tablosundaki kategori sayısını saymak istediğimizi ve ortaya çıkan sütunu category_count olarak adlandırmak istediğimizi varsayalım, aşağıdaki sorguyu kullanabiliriz:
SELECT COUNT(*) as category_count from category_details;
Çıktı:
category_count |
---|
5 |
Sıkça Sorulan Sorular
S # 1) COUNT işlevini MySQL'de nasıl kullanırım?
Cevap: COUNT işlevi, 3 şekilde kullanılabilen bir toplama işlevidir.
- MİKTAR(*) - Bu, SELECT QUERY tarafından döndürülen tüm satırları COUNT olur.
- COUNT (ifade) - Bu, ifade için tüm NON NULL değerlerini SAYACAKTIR.
- COUNT (DISTINCT ifadesi) - Bu, ifadeye karşı tüm NON NULL ve UNIQUE değerleri SAYACAKTIR.
S # 2) SQL'de Count (*) ve Count (1) arasındaki fark nedir?
Cevap: Her iki ifade de aynı şekilde davranır. MySQL’in COUNT tanımına göre, parantez () içindeki her şey bir ifadedir ve herhangi bir NON NULL değeri 1 olarak sayılır.
Dolayısıyla bu durumda, hem * hem de 1 NON NULL olarak kabul edilir ve aynı sonuç döndürülür, yani aşağıdaki her iki sorgunun sonucu da aynı olacaktır.
SELECT COUNT(*) from product_details; SELECT COUNT(1) from product_details;
Sonuç
Bu eğitimde, COUNT işlevi ve MySQL tarafından sağlanan farklı varyasyonlar hakkında bilgi sahibi olduk.
COUNT işlevini, COUNT işlevini GROUP BY ile birleştirmek ve COUNT işlevi içinde bir EĞER işlevi yazmak gibi farklı senaryolarda nasıl kullanabileceğimizi de gördük.
COUNT işlevi, MySQL'deki en önemli ve yaygın olarak kullanılan işlevlerden biridir ve büyük ölçüde bir veya daha fazla tablo için belirtilen koşullara bağlı olarak verileri toplamak için kullanılır.
Önerilen Kaynaklar
- MySQL ALTER TABLE - MySQL'de Bir Tabloya Sütun Nasıl Eklenir
- Örneklerle MySQL CONCAT ve GROUP_CONCAT İşlevleri
- MySQL CREATE USER: MySQL'de Yeni Kullanıcı Nasıl Oluşturulur
- MySQL JOIN Eğitimi: İç, Dış, Çapraz, Sol, Sağ ve Öz
- MySQL LIKE - Sözdizimi ve Kullanım Örnekleri ile Öğretici
- MySQL GROUP BY Clause - Örneklerle Eğitim
- Örneklerle MySQL Substring ve Substring_Index İşlevleri
- MySQL Kod Örnekleriyle Görünüm Öğreticisini Oluştur