我有一個表user_id,time_stamp和活動,我用它來記錄審計跟蹤的用戶操作。計數問題
如何計算唯一的user_id其中time_stamp = 0時的數目,當可能有多個這樣的行,僅在活動文本中有所不同?
我有一個表user_id,time_stamp和活動,我用它來記錄審計跟蹤的用戶操作。計數問題
如何計算唯一的user_id其中time_stamp = 0時的數目,當可能有多個這樣的行,僅在活動文本中有所不同?
聽起來像是你需要使用:
SELECT COUNT(DISTINCT t.user_id)
FROM YOUR_TABLE t
WHERE t.time_stamp = 0
GROUP BY t.activity
select count(*)
FROM (select t.user_id, count(*) actions
FROM table t
where t.time_stamp = 0
group by t.user_id) u
應該爲你做到這一點(不是最直接的方法,但它顯示瞭如何做幾個不同的東西)。
+1謝謝你的幫助 – Mawg 2011-05-24 13:13:37
+1和答案。謝謝。順便說一句,爲什麼我需要「分組」? – Mawg 2011-05-24 12:25:43
@Mawg:「GROUP BY」爲聚集函數提供上下文(在本例中爲「COUNT」),否則計數將針對表中的所有記錄。 – 2011-05-24 14:33:51
我不認爲這真的有效。按活動分組意味着對於每項獨特的活動,您可以獲得不同用戶的數量。放下這個組,它就會工作。 – jmoreno 2011-05-24 16:03:54