0

2 つのテーブルがあり、1 つはユーザーがいつ参加したかを測定する次のようになります。

 userId        Date     
 ----      -------------  
   1        01-01-2013       
   2        01-01-2013       
   3        01-01-2013       
   4        01-01-2013       
   5        01-01-2013 ....

そして、ユーザーに関連するイベントを含む別の例:

  id    userID    event        Date     
 ----  -----     ---------    ------
   1    1        open         01-01-2013       
   2    2        close        01-02-2013       
   3    2        move         01-03-2013       
   4    3        open         01-04-2013       
   5    5        move         01-05-2013 ....    

別のテーブルを取得したいのですが、日付を指定すると、その日に参加したユーザーのうち、次の連続する日付またはそれ以降の日付にイベントが発生したユーザーの数を取得し、それらの連続した日付でグループ化します。

たとえば、最初のテーブルでは、すべてのユーザーが同じ日付に参加したため、その日付をクエリすると、次のようになります。

userCount        Date     
 ----      -------------  
   4        01-01-2013       
   3        01-02-2013       
   3        01-03-2013       
   2        01-04-2013       
   1        01-05-2013 ....

最初の行の userCount はuserId: 1,2,3,5、その日付またはそれ以降の日付に表示されるため 4 です。次の行の userCount は、それ以降の日付に表示され、その日付またはそれ以降のuserId: 2,3,5 日付にuserId 1は表示されないため 3 です。

この種の結果を取得するには、どうすればクエリを実行できますか?

私が測定しようとしているのは、ユーザーの無制限の保持です。

4

2 に答える 2