Forum
Merhabalar,
SQL Server 2012 kullanıyorum
Kullanıcı tablom var. Bu tabloda KimlikNO-AdıSoyadı-MAIL adreslerinden oluşan sütunlar var.
mail adres uzantılarına göre nasıl gruplayabilirim. Örneğin kaç adet Hotmail, gmail uzantılı mail adresi var?
mail adres satırında gmail, Hotmail yazanları gruplayabiliyorum fakat uzantısını bilmediğim mail adresleri var. Onları tek tek tespit etmem zor.
örneğin @ karakterinden sonra yazılan uzantılara göre gruplama yapabilir miyim?
Teşekkürler..
Yavuz bey teşekkürler...
Bir konuda daha bilgiye ihtiyacım var. @ işaretinden sonra mail adres uzantıları yazmakta. Şöyle bir şey yapamak mümkün mü? @ işaretinden sonra gelen mail adres uzantılarını kendi içerisinde gruplama. Bilinen mail uzantılarını tespit edebiliyorum. Sıkıntı bazı mail uzantıları farklı isimleride bunları tespit edemedim. Bundan @ işaretinden sonraki alanları kendi içerisinde gruplamak istiyorum
@gmail.com (100 Adet)
@hotmail.com (50 Adet)
@hotmail.com.tr (10 Adet)
@windowslive.com (5 Adet)
WHERE Mail NOT LIKE hotmail, gmail, .... gibi yazarsanız, bunların dışındakileri gruplayacaktır, üstteki sorgudaki gibi yazmanız gerekiyor
Aşağıdaki kodu yazdığımda hata alıyorum
Msg 8120, Level 16, State 1, Line 1
Column 'KULLAN.EMAIL' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
Yazdığım Sorgu
SELECT EMAIL
FROM KULLAN
WHERE EMAIL LIKE '%hotmail%'
GROUP BY
CASE
WHEN EMAIL LIKE '%hotmail%' THEN 'hotmail'
ELSE NULL
END
Merhaba,
Ben aşağıdaki gibi bir örnek çıkardım, kendi tablolarınız üzerinden test yapabilirsiniz.
SELECT SUBSTRING(email, CHARINDEX('@', email)+1, 999) AS Domain, COUNT(*) AS Count FROM EmailList AS el GROUP BY SUBSTRING(email, CHARINDEX('@', email)+1, 999)
Merhaba,
Ben aşağıdaki gibi bir örnek çıkardım, kendi tablolarınız üzerinden test yapabilirsiniz.
SELECT SUBSTRING(email, CHARINDEX('@', email)+1, 999) AS Domain, COUNT(*) AS Count FROM EmailList AS el GROUP BY SUBSTRING(email, CHARINDEX('@', email)+1, 999)
Çok teşekkür ederim.