darkymarky adlı üyeden alıntı: mesajı görüntüle
SQL Tablomuz
kullanıcı - tarih

XXX - 2016
XXX - 2016
BBB - 2016
XXX - 2015
b - .. 2015

select from table group by tarih
yaparak aşağıdaki hale geliyor

XXX - 2016
BBB - 2015


Fakat benim istediğim tam çıktı yukarıdaki tabloya göre aşağıdaki gibidir.

2016 Yılı İçerisinde
3 tane XXX Kullanıcısı var
1 Tane BBB Kullanıcısı var

2015 Yılı İçerisinde
1 XXX var
1 b var


Bu nasıl yapılabilir ?

Dipnot : Tarih concat , unixtime karıştırarak çekip grupladım bu yüzden ikinci bir sorgu oluşturup where = ile eşleştirme yapıp count alamıyorum.
Öncelikle

select from table group by tarih, kullanici
bu şekilde dener misiniz istediğiniz sonucu verecek mi ?

Eğer üstteki şekilde istediğiniz sonucu alamazsanız aşağıda ki gibi iç içe selectler ile çözebileceğinizi düşünüyorum. Deneme imkanım olmadı ama fikir vermesi açısından aşağıda ki gibi bir sorgu üzerinde çalışabilirsiniz.

SELECT  id, kullanici, tarih,
		(
			select  count(*) 
			from    tablo as t2 
			where   t1.kullanici = t2.kullanici
			
			group by kullanici
        ) as uye_sayisi
FROM    tablo as t1
GROUP BY tarih