2016-11-30 12 views
1

今週から人がテーブルに何人連続して出現するかを調べる必要があります。連続した週の人がテーブルに表示されます

テーブルにIDと挿入日があります。人がテーブルに挿入されている場合、私は彼らが先週にいたかどうかを計算する必要があります。

私は検索したギャップアイランドの手法をいくつか試しましたが、役に立たないものです。何か案は?

EDIT その人がブレークする前に、3週連続のテーブルに登場以来、SQL Serverは、2012

ID-PK (int) 
PersonID (int) 
CourseNumber (varchar(15)) 
Term (char(5)) 
InsertDate (datetime) 

Sample Data 
250029 - 507 - 541 - Q2 - 2016-11-27 
250028 - 507 - 541 - Q2 - 2016-11-20 
250027 - 507 - 541 - Q2 - 2016-11-13 
250027 - 507 - 541 - Q2 - 2016-10-13 

したがって、このデータとの例では、私は答えとして「3」を取得したいと思います2016年10月13日から2013年11月13日まで

+5

いくつかの項目。 1)どのRDMS 2)サンプルデータと望ましい結果が役立つか –

答えて

0

可能な方法

おかげでWeekNumberとPersonNameので仕切らのRowID(https://msdn.microsoft.com/en-us/library/ms186734.aspx)を追加することです。

次に結果をPersonName = PersonNameとRID = RID + 1の自己に戻します。次にPersonNameで結果を数えます。

これは、連続した週を過ぎても2時間を超えて働かなかった人のための答えを提供します。完全に動作するスクリプトを取得するにはデータが必要です。

関連する問題