2017-05-31 1 views
0

次のフィールド、ID、ユーザー名、アプリケーション、最終アクセス日を持つテーブルがあります。例えば..私は、アプリケーションのすべての日付のカウント、最後の30日間、最後の90日間でテーブルを作成したいと思います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 

は...例えば...

app1, 3, 1, 0 
app2, 2, x, y 
app3, 1, u, v 

最初の列がありますアプリケーション、2番目の列は、すべての日付のカウント、最後の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値のための規定を持っていない(それはすべてのレコードが完了していると仮定し)と同じユーザ/アプリケーションのコンボを持つ2つのレコードがあるので、もしそれがレコードのないユーザーを(カウント同じ期間に2回カウントされます)。

+0

仕事をしました...ありがと... – henkem

関連する問題