1人1日1列に集計したい旅行の中間ステップについて、次の表を用意しました。中間ステップは、乗客が出て行き、いつも乗り移り続けるステーションに様々なゲートに入ることを含むかもしれない。SQL集約データ行
したがって、以下の表において、乗客1234は、時刻1071で駅5598から出て、時刻1073で駅796に入る(時刻は数値にコード化される)。次に、時間1086でステーション635を出て、時刻1088にステーション5148に入る。この特定の乗客は、その旅に2つの中間脚を有する。乗客5678のために、彼らは唯一の仲介脚を持っています。
ID day station time type
1234 133 5598 1071 exit
1234 133 796 1073 entry
1234 133 635 1086 exit
1234 133 5148 1088 entry
5678 133 8909 1305 exit
5678 133 5158 1306 entry
と私はそれがこのように見えるように取得したい:
の表は以下の通りである。私はオーバー、FIRST_VALUEを試してみました
ID day stage1_exittime stage1_exitstation stage2_entrytime stage2_entrystation stage2_exittime stage2_exitstation stage3_entrytime stage3_entrystation
1234 133 1071 5598 1073 796 1086 635 1088 5148
5678 133 1305 8909 1306 5158 0 0 0 0
と、パーティションが、取得することはできませんそれは機能する。彼らは重要なのは、中間の脚が1つしかない旅程が上記の表のステージ2_exitとステージ3に設定されていないことを確認する必要があることです。
旅客は旅に中間脚を5つまで持ちます(例では3つではありません)。
特定の日に3つの中間脚がある場合はどうなりますか?または4?あなたが受け入れることができる足の数を制限することが安全であることは確かですか? –
理論的には3本の中間脚でなければならないかもしれませんが、それ以上の脚を考慮する必要があります(最大5でなければなりません) – JassiL