按唯一ID计算事件

时间:2013-01-04 14:25:39

标签: sql

我有一些停机时间,我正在花钱尝试学习SQL。我遇到了一个我希望你可以帮助我的问题。

假设我有一个非常简单的表格,每个日期都有一个唯一的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)?

3 个答案:

答案 0 :(得分:3)

SELECT COUNT(DISTINCT day_id)
FROM Chores
WHERE Chore='Washed the dishes'

答案 1 :(得分:2)

select count(distinct day_id) 
from your_table
where chore = 'Washed the dishes'

答案 2 :(得分: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