我有一个包含以下字段的表,ID,用户名,应用程序和上次访问日期。例如..
1, user1, app1, date
2, user1, app2, date
3, user2, app1, date
4, user3, app3, date
5, user4, app1, date
6, user5, app2, date
我想创建一个包含所有日期,过去30天,过去90天的应用计数的表格。例如......
app1, 3, 1, 0
app2, 2, x, y
app3, 1, u, v
第一列是应用程序,第二列是所有日期的计数,最近30天内的下一列等等。
通常情况下,我真的会尝试自己解决这些问题,但我完全迷失了,并且遗漏了一些东西......感谢您的帮助......
答案 0 :(得分:1)
尝试这样的事情:
SELECT Application,
SUM(IIF([Last Access date]<DateAdd('d',-30,Date()),0,1)) AS Last30Count,
SUM(IIF([Last Access date]<DateAdd('d',-90,Date()),0,1)) AS Last90Count
FROM [TableName]
GROUP BY Application
上面没有NULL
值的规定(它假设所有记录都已完成)并且它计算记录而非用户(因此如果在同一时间段内有两个具有相同用户/应用程序组合的记录,它将算两次)。