0

我有一个带有日期时间字段的数据库表,还包含用户 ID(外键)。我需要获取独特用户、新用户和重复用户的活动。

如果用户进行了某些活动,则会在此表中插入一个数据库行。因此,在一个日期范围内(从日期到日期),我将那些做过一次或多次活动的用户称为唯一用户。Like count of distinct users 是唯一用户数。

然后我需要获取在该日期范围内有活动且未超出该日期范围的新用户以及在该日期范围内有活动且超出该日期范围的重复用户的数量

4

1 回答 1

0

唯一用户

SELECT DISTINCT UserId FROM Table
WHERE Date BETWEEN StartDate AND EndDate

新用户

SELECT DISTINCT UserId FROM Table
WHERE Date BETWEEN StartDate AND EndDate
AND UserId NOT IN (SELECT UserId FROM Table
                   WHERE Date NOT BETWEEN StartDate AND EndDate)

重复用户

SELECT DISTINCT UserId FROM Table
WHERE Date BETWEEN StartDate AND EndDate
AND UserId IN (SELECT UserId FROM Table
               WHERE Date NOT BETWEEN StartDate AND EndDate)
于 2013-04-17T10:49:41.317 回答