私は、財務データの観察を集約するデータベースに取り組んでいます (通貨ペア USDCAD を例として考えてください)。
財務データは観測として入ってきます。データプロバイダーによって決定されるため、観測の日時は設定しません。
私のテーブルは次のようになります。
CREATE TABLE observations (symbol varchar(32) not null, datetime datetime not null, value decimal(20, 10) not null);
特定の観察がなかったときにシリーズの値を取得する必要があるときに問題が発生します。たとえば、午前 10 時 30 分 15 秒にカナダ ドルで販売している特定の製品の価格を変更したいとします。
ただし、正確に午前 10:30:15 の USDCAD 観測がない可能性があります。これには、その正確な時間に観測値を得るために加重平均を行う必要があります。
これは少し面倒ですが、可能です。より大きな問題はこれです - 私たちの製品の毎秒の米ドル価格を含むテーブルがあり、USDCAD (ランダムな時間の観測がある場合) ですべての製品価格の観測 (毎秒) を再価格設定したい場合、できません。クレイジーなサブクエリなしでこれを行う方法を考えてください。
ここで私の最良の選択肢は何ですか? 値が挿入されたときに、USDCAD シリーズについても毎秒観測を計算する方がよいでしょうか?