2010-01-24 23 views
9

Acemi SQL sorusu buraya ->SQL'de olayları gün sayısına nasıl sayarım?

Bir kullanıcı bir şeyler yaptığında bir satır içeren bir Geçiş tablosu var. Bir kullanıcı günde birden çok kez şeyi yapabilir. Bu şuna benzer:

Date  Username 
------ -------- 
1/1/9  User1 
1/1/9  User1 
1/1/9  User2 
1/2/9  User1 
1/2/9  User3 
1/3/9  User1 
1/3/9  User1 
1/3/9  User1 
1/3/9  User2 
1/3/9  User3 

Bir sorgu basitçe göründükleri eşsiz günlerin adı ve miktarı (sayımını) dönmek istiyorum. Yukarıdaki veri seti için aradığım sonucu olacaktır: benim sorgu kullanıcı başına benzersiz günlerin sayısını ziyade olay sayısını değil dönüyor çünkü berbat alma tutmak

Username UniqueDaysAppeared 
-------- ------------------ 
User1  3 
User2  2 
User3  2 

genel kullanıcı.

cevap

20
SELECT Username, COUNT(DISTINCT(Date)) AS UniqueDaysAppeared 
FROM Occurrences 
GROUP BY Username 
+0

Staples reklamlarında dedikleri gibi, "Bu kolaydı!" Tüm girişimlerimde DISTINCT'i COUNT toplamından çıkartacağım. Teşekkür ederim. – Robert

+0

Ve Tommy Cooper'ın dediği gibi "Sadece böyle!" :) – AdaTheDev

İlgili konular