私はこの質問が繰り返されたかどうかわかりませんが、回答がある場合は「回答済み」の質問に従ってガイドしてください。そして、私はこのクエリのために何が適切なタイトルかもしれないのか分かりません。方法:特定の複雑なグループ化クエリ
は、私は私のSQL Serverで、次のデータを持っている2008 R2
|Date |Status |
|------------------|------------|
|29-Mar-2016 07:30 |X |
|29-Mar-2016 07:31 |Y |
|29-Mar-2016 07:32 |Y |
|29-Mar-2016 07:33 |Y |
|29-Mar-2016 07:34 |Y |
|29-Mar-2016 07:40 |X |
|29-Mar-2016 07:43 |Z |
|29-Mar-2016 07:45 |Z |
SQLクエリの
|Start Date | End Date |Status |
|------------------|------------------|-----------|
|29-Mar-2016 07:30 |29-Mar-2016 07:31 |X |
|29-Mar-2016 07:31 |29-Mar-2016 07:34 |Y |
|29-Mar-2016 07:40 |29-Mar-2016 07:43 |X |
|29-Mar-2016 07:43 |29-Mar-2016 07:45 |Z |
任意の提案を以下のようである私は期待していた結果。
'gaps-and-islands 'のように見えますが、必要なロジックが明確ではありません。なぜ「終了日」は「開始日」と同じグループから取られ、時には次のグループから取られるのでしょうか? –
@VladimirBaranov日付はミリ秒単位で取得されます。グループ化された「Y」のデータの最後の行が終了日となり、「X」のグループ化されたデータの開始が開始日となる。 – aioracle