2017-05-31 67 views
0

我有一个包含以下字段,ID,用户名,应用程序和上次访问日期的表。例如..MS Access根据日期统计具有多个列的相同项目

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

为什么计数字段有字母? – Parfait

+0

只是代表一个数字的变量,我的例子没有实际的日期,因此不知道实际的数字会是什么... – henkem

回答

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值(它假定所有的记录都是完整的)没有提供和它计数记录而不是用户(因此,如果有两个记录使用相同的用户/应用程序组合在同一时间段内将被计数两次)。

+0

没有工作......谢谢...... – henkem

相关问题