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