2010-01-24 69 views
9

Câu hỏi SQL mới ở đây ->Làm cách nào để đếm số lần xuất hiện theo ngày trong SQL?

Tôi có bảng Lần xuất hiện chứa hàng cho mỗi lần người dùng thực hiện điều gì đó. Một người dùng có thể làm điều đó nhiều lần mỗi ngày. Có vẻ như sau:

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 

Tôi muốn truy vấn chỉ cần trả về Tên người dùng và số lượng (số) ngày duy nhất chúng xuất hiện. Cho tập dữ liệu ở trên, kết quả tôi đang tìm kiếm sẽ là:

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

tôi tiếp tục nhận được hơi say lên vì truy vấn của tôi đang trở lại không phải là đếm độc đáo ngày cho mỗi người dùng mà là số lần xuất hiện của người dùng nói chung.

Trả lời

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

Khi họ nói trong các quảng cáo Staples đó, "Thật dễ dàng!" Trong mọi nỗ lực của tôi, tôi đã bỏ qua DISTINCT từ COUNT tổng hợp. Cảm ơn bạn. – Robert

+0

Và như Tommy Cooper sẽ nói "Cứ như thế!" :) – AdaTheDev

Các vấn đề liên quan