- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ACCESSクエリーについて(条件抽出等2))
SQLで条件抽出するためのACCESSクエリーについて
このQ&Aのポイント
- 以下のACCCESSテーブルデータに対して、IDがかぶっている場合は1行とし、直近利用日、利用回数、利用金額、経過日数の条件でクエリー抽出したいです。
- 経過日数の計算には、クエリー実行時に入力される日付を使用します。
- また、テーブルに他の列がある場合は基本的に全列を表示させるようにします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
クエリで書くと、こう。 SELECT テーブル.ID, Max(テーブル.利用日) AS 直近利用日, Max(テーブル.利用回数) AS 利用回数, Sum(テーブル.利用金額) AS 利用金額合計, Min(DateDiff("d",[利用日],DateValue([yyyymmdd]))) AS 経過日数 FROM テーブル GROUP BY テーブル.ID; パラメータのyyyymmddには「2013/12/10」のように、区切り記号付きの日付を入力。
その他の回答 (1)
- chie65536(@chie65535)
- ベストアンサー率44% (8755/19867)
回答No.1
集計クエリにして ・ID グループ化 ・直近利用日 利用日の最大値 ・利用回数・・・同一ID行数で判断 利用回数の最大値 ・利用金額・・・累積額 利用金額の合計 ・経過日数・・・yyyymmdd - 直近利用日 「yyyymmdd - 直近利用日」の式の結果の最小値 にすれば良いだけです。
質問者
お礼
ありがとうございます。SQLよりこちらの方がおすすめですか。
お礼
丁寧に本当にありがとうございます。両方とも試します。
補足
●●● 確認!! ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● ありがとうございます。エクセルで日付-日付でみると、1日多いのですが、これはエクセルが誤りでしょうか。 例 クエリー: 2014/09/27でパラメーターを指定 2014/05/13 が直近日付 = 137 例 エクセル: 2014/09/27とセルに入力 そこから右記のセルを引く 2014/05/13 が直近日付 = 136 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●