0
我有一個表TB
包含列Time, User_id, State
,其數據如下。時間範圍內的唯一計數(打印0)
INSERT INTO TB
(Time, User_id, State)
VALUES
(1, 1, 'VA'),
(1, 2, 'VA'),
(1, 2, 'DC'),
(2, 1, 'VA'),
(2, 2, 'MD'),
(3, 1, 'MD'),
(3, 112, 'MD'),
(3, 134, 'VA'),
(3, 111, 'MD'),
(4, 12, 'VA'),
(4, 22, 'MD')
;
我想給State = 'DC'
每2秒的User_id
獨特的計數。結果應該看起來像這樣:
NewTime | Count
1 | 1
2 | 0
我得到了答案打印出0,當計數爲0使用
SELECT TIME,
SUM(CASE WHEN State = 'DC' THEN 1 ELSE 0 END) Count
FROM TB
GROUP BY Time
並使用獲得的時間範圍內獨特的計數
SELECT
((Time - 1)/2) + 1 as NewTime,
COUNT(DISTINCT User_id) as Count
FROM ...
GROUP BY ((Time - 1)/2) + 1
但我不知道如何結合這兩個來獲得我想要的結果。
在此先感謝。
工作就像一個魅力。非常感謝! – Firyn 2013-02-27 19:18:16