サービスレコードまたは入場記録を持つ大きなテーブル(100000 +エントリ)がある場合。どのようにして再発生のすべてのインスタンスを一定の日数内に見つけることができますか?期間内の繰り返しの選択<x日
テーブルの設定は、このような可能性があります。私がやろうとしています何
Record ID Customer ID Start Date Time Finish Date Time
1 123456 24/04/2010 16:49 25/04/2010 13:37
3 654321 02/05/2010 12:45 03/05/2010 18:48
4 764352 24/03/2010 21:36 29/03/2010 14:24
9 123456 28/04/2010 13:49 31/04/2010 09:45
10 836472 19/03/2010 19:05 20/03/2010 14:48
11 123456 05/05/2010 11:26 06/05/2010 16:23
は、一定期間(< X日)内のフィールド[顧客ID]の再発生があるレコードを選択する方法を考え出すです。 (期間は第二の発生の開始日時はどこにある - 最初の出現の終了日時
これは、私はそれはそれはたとえば、X = 7
Record ID Customer ID Start Date Time Finish Date Time Re-occurence
9 123456 28/04/2010 13:49 31/04/2010 09:45 1
11 123456 05/05/2010 11:26 06/05/2010 16:23 2
のために実行された後のようになりたいものです。
Excelのレコードセットを小さくしてこの問題を解決することはできますが、MS AccessでSQLソリューションを試すのに苦労しました。私は試したSQLクエリをいくつか持っていますが、
私はこのアプローチが再発の回数を逃すと思います。それを機能させるには、トップクエリにグループを追加し、カウント関数を追加する必要があります。 – dlawrence
いいえ、これは、これよりかなり複雑です(トップレベルのクエリは、異なる「再発グループ」に属するcustomerIDに対してインシデントを返し、「再発グループ」の最終インシデントも返さないため)。 –
また、私のクエリは、 "Reoccurence group"の中間インシデントを返します。これは、サンプルのレコード9も返します。私は問題のテキスト記述から出発していたので、恥知らずにサンプルデータにはあまり注意を払っていませんでした。しかし、中間結果を返すことで最終的な結果が失われるのを見て、あなたが言ったようにGROUP BYを使って問題を正しく解決できるようにします(FinishTimeを除く)。 –