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 です。
この種の結果を取得するには、どうすればクエリを実行できますか?
私が測定しようとしているのは、ユーザーの無制限の保持です。