2013-01-04 67 views
0

我有一些宕机时间,我正在努力学习SQL。我遇到了一个问题,希望你能帮助我。通过唯一ID来计数事件

比方说,我有这样一个令人难以置信的简单表格,它具有每个日期的唯一ID(同样,这是一个学习练习 - 否则我会使用实际日期而不是ID),然后是家务活我做的那一天:

day_id | chore 

123456 | Washed the dishes 

823454 | Cut the grass 

123456 | Washed the dishes 

123456 | Took out the trash 

324234 | Washed the dishes 

正如你所看到的,这是可能的,你可以做同样的家务两次在同一天(在这种情况下,我洗碗两次123456)。

我怎样才能得到独特的天数我洗碗的天数(在这种情况下,答案应该是2)?

+0

集团由'chore'? –

回答

2
SELECT CHORE, COUNT(DISTINCT day_id) cnt 
FROM CHORES 
WHERE CHORE='Washed the dishes' -- remove this to get list of all chores/count 
GROUP BY CHORE 
+0

谢谢,rs。你能解释一下COUNT函数之后的cnt吗? – Duplosion

+0

它是该列的别名 –

3
SELECT COUNT(DISTINCT day_id) 
FROM Chores 
WHERE Chore='Washed the dishes' 
2
select count(distinct day_id) 
from your_table 
where chore = 'Washed the dishes'