根据自上次访问后的天数获取用户数

时间:2015-06-10 08:31:43

标签: tsql

我可以使用以下查询确定上个月访问过的用户数量:

SELECT COUNT(ID) from USERS WHERE DATEDIFF(month, LastAccessDate, GETDATE()) < 1

我现在想要一个查询返回用户数和他们访问后的天数。所以结果看起来像是:

Count    |  Days Since Last Visit
100      |  1
200      |  2

如何计算上一次访问后的天数以及按该列分组?

1 个答案:

答案 0 :(得分:1)

我认为这是您正在寻找的查询:

SELECT 
    COUNT(ID) 'Count'
    , DATEDIFF(DAY, LastAccessDate, GETDATE()) 'Days Since Last Visit'
FROM Users
GROUP BY DATEDIFF(DAY, LastAccessDate, GETDATE())

代码的写法与您在上一句中所解释的完全相同。

如果您要排除今天已登录的用户(Days Since Last Visit列中有0),请使用以下查询:

SELECT 
    COUNT(ID) 'Count'
    , DATEDIFF(DAY, LastAccessDate, GETDATE()) 'Days Since Last Visit'
FROM Users
WHERE DATEDIFF(DAY, LastAccessDate, GETDATE()) > 0
GROUP BY DATEDIFF(DAY, LastAccessDate, GETDATE())