SQL'de Birden Çok Sütundaki Farklı Kombinasyonları Sayma

Sql De Birden Cok Sutundaki Farkli Kombinasyonlari Sayma



SQL veritabanlarında çalışırken, belirli bir tablodan farklı değerleri bulmanız ve yinelenen değerleri kaldırmanız gereken bu tür örneklerle karşılaşabilirsiniz. Çoğu durumda, benzersiz olmasını istediğimiz değerleri olan sütunu belirtmek için esas olarak farklı yan tümceyi kullanırız.

Ancak, birden çok sütundaki değerlerin benzersiz olduğundan ve yineleme olmadığından emin olmak istediğinizde ne olur?







Bu öğreticide, iki veya daha fazla sütun seçmek ve değerlerinin farklı olmasını sağlamak için SQL özelliklerini nasıl kullanacağımızı öğreneceğiz.



Sorun:

Birden çok sütunu olan bir tablomuz olduğunu ve bu sütunlardaki farklı değer kombinasyonlarının sayısını saymak istediğimizi varsayalım.



Örneğin, customer_id, product_id ve tarih sütunlarına sahip bir satış verileri tablosunu ele alalım. Customer_id ve product_id'nin benzersiz kombinasyonlarının sayısını saymak istiyoruz.





SQL'de Birden Çok Sütundaki Farklı Kombinasyonları Sayma

COUNT DISTINCT yan tümcesini ve SQL'deki CONCAT işlevini kullanarak birden çok sütundaki farklı kombinasyonların sayısını sayabiliriz.

BİRLEŞTİR işlevi, iki veya daha fazla değeri, daha sonra karşılaştırmak ve saymak için kullanabileceğimiz tek bir değerde birleştirmemizi sağlar.



Aşağıdaki sözdizimini kullanarak bunu daha iyi gösterebiliriz:

SAYI SEÇ ( FARKLI İLETİŞİM ( sütun1, sütun2 ) )
tablo_adı'ndan;


Bu durumda sütun1 ve sütun2 sayarken birleştirmek istediğimiz sütunları, tablo_adı ise hedef tablonun adını ifade eder.

Örnek bir tablo alalım:

TABLO OLUŞTUR satış (
İD INT BİRİNCİL ANAHTAR,
müşteri kimliği INT,
ürün_kimliği INT,
tarih TARİH
) ;

SATIŞ DEĞERLERİNE EKLEYİN
( 1 , 100 , 1 , '2023-05-01' ) ,
( 2 , 101 , 1 , '2023-05-02' ) ,
( 3 , 100 , 2 , '2023-05-02' ) ,
( 4 , 102 , 3 , '2023-05-03' ) ,
( 5 , 101 , 2 , '2023-05-03' ) ,
( 6 , 103 , 2 , '2023-05-04' ) ,
( 7 , 100 , 3 , '2023-05-04' ) ,
( 8 , 102 , 1 , '2023-05-05' ) ,
( 9 , 101 , 3 , '2023-05-05' ) ,
( 10 , 103 , 1 , '2023-05-06' ) ;


Sonuç Tablosu:


Önceki tablodaki customer_id ve product_id sütunlarının benzersiz kombinasyonlarının sayısını belirlemek için sorguyu aşağıdaki gibi kullanabiliriz:

SAYI SEÇ ( FARKLI İLETİŞİM ( Müşteri Kimliği, '-' , ürün kimliği ) ) gibi sonuç
SATIŞTAN;


Önceki sorguda, customer_id ve product_id değerlerini bir tire ile birleştirmek için farklı yan tümceyi ve concat işlevini kullandık. Bu, aşağıda gösterildiği gibi her kombinasyon için tek bir değer oluşturmalıdır:


Buradan, ortaya çıkan tablodan benzersiz kombinasyonları saymak için count işlevini kullanabiliriz.

Çözüm

Umarız bu eğitim size yardımcı olmuştur. Bu gönderide, farklı yan tümceyi, concat() işlevini ve count yan tümcesini birden çok SQL tablosu sütunundan benzersiz değerleri belirlemek için nasıl birleştireceğinizi keşfettiniz.