Forum
Herkese Merhaba,
Soruyu doğru yere mi soruyorum çok emin değilim. Fakat yardımcı olabilirseniz sevirinim.
Bir sQL'de bir aşağıda ki gibi bir tablom var,
-------------------------------------------------------
|ID| IP Adresi | Giriş Tarihi | Giriş Yapan Kullanıcı|
--------------------------------------------------------
bu tabloda şu şekilde bir çıktıya ihtiyacım var
-------------------------------------------
|IP Adresi | Giriş Yapan Kullanıcı sayısı|
-------------------------------------------
Yani IP adresinde kaç kullanıcı giriş yapmış adet
bazı IP'lerde 1 kullanıcı giriş yapmış olabiliyor bazılarında 10 bunun listesi lazım destek olabilirseniz sevirim teşekkürler,
Merhabalar,
Bu sorgu işinizi görecektir.
select IPAdresi,count(1) as GirisYapanKullaniciSayisi FROM
tablename
group by IpAdresi
Can bey cevabınız için teşekkürler fakat söyle bir sıkıntı oluştu.
sql çalıştırdığımda liste çıkıyor fakat kullanıcı sayısını toplam veriyor.
mesela şu şekilde ornek vermek isterim.
10.20.10.20 ıp adresinde User1 5 kere sistem açmış ,
10.20.10.20 ip adresinde User2 2 kere sistem açmış olsun
10.20.10.20 | tarih 1 | USER1
10.20.10.20 | tarih 6 | USER2
10.20.10.20 | tarih 2 | USER1
10.20.10.20 | tarih 3 | USER1
10.20.10.20 | tarih 7 | User 2
10.20.10.20 | tarih 4 | USER1
10.20.10.20 | tarih 5 | USER1
sizin sql komutunu çalıştırdığımda
Ipadresi | GirisYapanKullaniciSayisi
10.20.10.20 | 7
şekilde çıkıyor fakat benim istediğim o ip 2 kullanıcı oturum açtığı için 2 çıkması
Ipadresi | GirisYapanKullaniciSayisi
10.20.10.20 | 2
tekrar teşekkür ederim.
grubu user bazında yapmalısınız.
select IPAdresi,username,count(1) as GirisYapanKullaniciSayisi FROM
tablename
group by IpAdresi,username
Can bey maalasef kodu çalıştırdığımda herhangi bir çıktı vermiyor,
select IPAdres, Kullanici, count(1) as GirisYapanKullaniciSayisi FROM [Giris_Bilgileri] group by IpAdres, Kullanici;
sonuç boş döndü maalesef;
Ama listede aynı ip adresi farklı kullanici olan kayıtlar var ama 🙁
Merhaba tekrar,
Evet Sonuç boş donmekte Yazdığım tam kod şu şekilde.
SELECT [IPAdres], [Kullanici], count(1) as GirisYapanKullaniciSayisi FROM [Giris_Bilgileri] group by [IPAdres], [Kullanici];
Sonuç;
0 rows affected
SELECT * FROM [Giris_Bilgileri];
Sonuç;
Duration: 00:00:097 / 13583 rows
Merhaba tekrar,
Evet Sonuç boş donmekte Yazdığım tam kod şu şekilde.
SELECT [IPAdres], [Kullanici], count(1) as GirisYapanKullaniciSayisi FROM [Giris_Bilgileri] group by [IPAdres], [Kullanici];
Sonuç;
0 rows affectedSELECT * FROM [Giris_Bilgileri];
Sonuç;
Duration: 00:00:097 / 13583 rows
gruplama yaparken hem ip adresi hemde kullanıcı yaptığınız için sorun oluyor gibi tablodaki verileri göremediğim için çokta yorum yapamıyorum ama veriye göre mantık hatası var gibi geliyor sorguda. sorgunuzdaki gorup by dan sonraki kullanici kısmını kaldırıp tekrar denermisiniz tam istediğiniz sonucu verirmi anlamadım ama bir deneyin isterseniz.
Ahmet bey merhaba,
Üstte ki mesajımda belirtmek istediğim tablonun basit hali,
IPAdresi | Tarih | Kullanici
10.20.10.20 | tarih 1 | USER1
10.20.10.20 | tarih 6 | USER2
10.10.10.10 | Tarih 8 | USer3
10.20.10.20 | tarih 2 | USER1
10.20.10.20 | tarih 3 | USER1
10.20.10.20 | tarih 7 | User 2
10.20.10.20 | tarih 4 | USER1
................. | ..........| ..........
10.20.10.20 | tarih 5 | USER1
Bunun gibi uzatip giden 14000 'e yakın satir olan bir tablom var
Ben bu tabloda istediğim su
Ipadresi | GirisYapanKullaniciAdeti
10.20.10.20 | 2
10.10.10.10 | 1
..................| 5
..................| 3
..................| 1
xx.xx.xx.xx | 1
gibi bir cikti almak istiyorum. Yani ip adresinde kac kullanici giriş yapmış görmek
Yukarda paylaşmış olduğumuz sorgu bu çıktıyı elde eder. Ancak sizin işinizi görmemişti o sonuç. user kolonundaki data ile ilgili bir sıkıntınız olabilir.
http://sqlfiddle.com buraya datanızın bir kısmını girip link veriseniz size daha sağlıklı bir şekilde yardımcı olabiliriz.
""
Merhabalar,
Bu sorgu işinizi görecektir.
select IPAdresi,count(1) as GirisYapanKullaniciSayisi FROM
tablename
group by IpAdresi
""
Ahmet bey merhaba,
Üstte ki mesajımda belirtmek istediğim tablonun basit hali,
IPAdresi | Tarih | Kullanici
10.20.10.20 | tarih 1 | USER1
10.20.10.20 | tarih 6 | USER2
10.10.10.10 | Tarih 8 | USer3
10.20.10.20 | tarih 2 | USER1
10.20.10.20 | tarih 3 | USER1
10.20.10.20 | tarih 7 | User 2
10.20.10.20 | tarih 4 | USER1
................. | ..........| ..........
10.20.10.20 | tarih 5 | USER1
Bunun gibi uzatip giden 14000 'e yakın satir olan bir tablom var
Ben bu tabloda istediğim suIpadresi | GirisYapanKullaniciAdeti
10.20.10.20 | 2
10.10.10.10 | 1
..................| 5
..................| 3
..................| 1
xx.xx.xx.xx | 1gibi bir cikti almak istiyorum. Yani ip adresinde kac kullanici giriş yapmış görmek
Can Bey merhaba,
Tablom şu şekilde,
CREATE TABLE [Kullanici_Giris_Bilgileri] (
[Id] bigint IDENTITY (1,1) NOT NULL
, [Kullanici] nvarchar(200) NOT NULL
, [IPAdres] nvarchar(200) NULL
);
Ornek Tablo içerigi
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User9' ,'192.168.1.4');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User9' ,'192.168.1.4');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User9' ,'192.168.1.4');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User9' ,'192.168.1.4');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User9' ,'192.168.1.4');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User9' ,'192.168.1.4');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User9' ,'192.168.1.4');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User9' ,'192.168.1.4');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User9' ,'192.168.1.4');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User9' ,'192.168.1.4');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User3' ,'192.168.1.4');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User2' ,'192.168.1.4');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User3' ,'192.168.1.4');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User3' ,'192.168.1.4');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User3' ,'192.168.1.4');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User3' ,'192.168.1.4');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User7' ,'192.168.1.4');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User3' ,'192.168.1.4');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User3' ,'192.168.1.4');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User10' ,'192.168.1.4');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User3' ,'192.168.1.4');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User2' ,'192.168.1.2');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User3' ,'192.168.1.2');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User3' ,'192.168.1.2');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User3' ,'192.168.1.2');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User3' ,'192.168.1.2');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User7' ,'192.168.1.2');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User3' ,'192.168.1.2');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User3' ,'192.168.1.2');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User10' ,'192.168.1.2');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User1' ,'192.168.1.2');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User2' ,'192.168.1.2');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User3' ,'192.168.1.2');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User4' ,'192.168.1.2');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User5' ,'192.168.1.2');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User6' ,'192.168.1.2');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User7' ,'192.168.1.2');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User8' ,'192.168.1.2');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User9' ,'192.168.1.2');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User10' ,'192.168.1.2');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User1' ,'192.168.1.2');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User2' ,'192.168.1.1');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User3' ,'192.168.1.1');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User4' ,'192.168.1.1');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User5' ,'192.168.1.1');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User6' ,'192.168.1.1');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User7' ,'192.168.1.1');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User8' ,'192.168.1.1');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User9' ,'192.168.1.1');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User10' ,'192.168.1.1');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User1' ,'192.168.1.1');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User2' ,'192.168.1.2');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User3' ,'192.168.1.3');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User4' ,'192.168.1.4');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User5' ,'192.168.1.5');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User6' ,'192.168.1.6');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User7' ,'192.168.1.7');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User8' ,'192.168.1.8');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User9' ,'192.168.1.9');
INSERT INTO [Kullanici_Giris_Bilgileri] ([Kullanici] , [IPAdres]) VALUES ('User10' ,'192.168.1.10');
İstediğim çıktı şu şekilde
192.168.1.1 içinde kaç farklı kullanıcı oturum açmış
192.168.1.2 içinde kaç farklı kullanıcı oturum açmış gibi
K.bakmayın SQL bilgim yok hatalı yazdığım varsa
select t.IpAdres, SUM(t.kul) as DifferentUserLoggedIn FROM (
select IpAdres,count(DISTINCT Kullanici) as kul from [Kullanici_Giris_Bilgileri]
group by IpAdres,Kullanici
) as t
group by t.IpAdres
bu sorguyu dener misiniz?
Çıktısına buradan bakabilirsiniz.
Can bey şu hatayı aldım,
Error Code: 80040E14
Message : Sorgu ayrıştırılırken hata oluştu. [ Token line number = 2,Token line offset = 82,Token in error = DISTINCT ]
Minor Err.: 25501
Source : SQL Server Compact ADO.NET Data Provider
Num. Par. : 2
Num. Par. : 82
Err. Par. : DISTINCT
Ado .net ile bağlantı yaptığım icin galiba bunu desteklemiyor farklı bi yontem deneyeceğim artık desteğiniz icin teşekkürler,
Tekrar merhaba,
Şu şekilde yazdım satırı istediğim gibi sonuç verdi fakat doğru mudur fikir verebilir misiniz?
SELECT IPAdres AS [Type], COUNT(Kullanici) AS [Count] FROM (SELECT DISTINCT Kullanici,IPAdres FROM Kullanici_Giris_Bilgileri) dt GROUP BY IPAdres ORDER BY [Count] DESC
Teşekkürler,
Merhabalar,
Doğru bir sorgudur.
Desteğiniz için teşekkürler Can Bey
iyi günler,