我需要计算2015年新成员加入2015年成员的重复访问次数。
SELECT
playsite_id AS Loc,
DATENAME(MONT, date_id) AS Mon,
SUM(CASE WHEN visit_type = 'WALK-IN REPEAT' THEN 1 ELSE 0 END) RepeatVisits,
SUM(CASE WHEN visit_type = 'WALK-IN NEW' THEN 1 ELSE 0 END) AS NewVists
FROM
[dbo].[Guest_Visit_Fact]
WHERE
visit_type IN ('WALK-IN REPEAT', 'WALK-IN NEW')
AND date_id >= '20150101' AND date_id < '20160101'
GROUP BY
playsite_id, DATENAME(MONTH, date_id)
ORDER BY
playsite_id
我很接近。此代码中的重复访问将返回当年的所有重复访问,但我只希望重新访问当年加入的新成员。我怎么能这样做?
我以为我可以使用WHERE NOT EXISTS。因此,如果ID在2015年1月1日之前存在,请不要在重复访问列中对其进行计数。我只是不确定如何编码。谢谢!
编辑:
理论上,理想情况下,所需输出的重复访问次数应低于新访问次数(因为我们需要重复访问次数来自当年的新访问次数)。