問題タブ [gaps-in-data]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - 大きなmysqlテーブル内の一時データのギャップを見つける方法
一時データのギャップを見つけようとしていますが、問題は私のデータが固定間隔シーケンスではないため、この解決策を使用できないと思います: mysql で連続番号付けのギャップを見つける方法は?
私の一時的なデータはミリ秒単位 (bigint) で、通常は毎秒少なくとも 1 つの値があるため、次のように考えていました。
しかし、そのクエリには永遠に時間がかかります (私のテーブルには 1 億件以上のレコードがあります)。
より速い解決策はありますか?// MySQL バージョン 5.7.14
これも見つけました: MySQL / MariaDB: 時間ベースのデータのギャップを見つける方法は? しかし、さらに遅くなると思う複数のサブセレクトを使用しています
MCRE:
r - データのギャップを見つけて、より多くのトラックに分割する
一部の動物の追跡データがあり、各 ID の衛星送信に 1 日以上のギャップがある追跡があるかどうかを知りたいです。
もしあれば、トラックを同じ ID の 2 つ以上のサブトラックに分割する必要があります。そのため、一部の人は複数のバーストを起こします。
私のデータは次のようなものです(dput):
sql - オラクルで100秒単位で数字を欠落させる方法
オラクルのテーブル列で欠落している数字を見つける必要があります。欠落している数字は 100 で取得する必要があります。つまり、少なくとも 2000 から 2099 の間に 1 つの数字が見つかった場合、2000 から 2099 までのすべての欠落している数字を返す必要があるということです。の上。
ここに私が必要なものを明確にする例があります:
結果は 2000,2003,2005 から 2099,2100 から 2104,2106 から 2199,3000 から 3005,3007 から 3099,9400 から 9409,9411 から 9499 でなければなりません。
私はこのクエリから始めましたが、明らかに必要なものを返していません:
r - 長さの異なる時系列にランダムなギャップを作成する方法は?
私の修士論文では、既存のデータセットでさまざまなギャップ充填方法を確認する必要があります。したがって、さまざまな長さ(1h、5h ..)の人為的なギャップを追加する必要があるため、さまざまな方法でギャップを埋めることができます。そうするのに簡単な機能はありますか?
データフレームの例を次に示します。
sql - 時系列のギャップを埋める SQL Server
SQL でのリクエストに問題があります。
2 つのテーブルがあります。1 つは日付のベクトルを表し、もう 1 つはさまざまな証券の価格の時系列を表します。
日付:
日付ID | 日にち |
---|---|
1 | 2021-01-01 |
2 | 2021-01-02 |
3 | 2021-01-03 |
時系列:
セキュリティ ID | 日付ID | 価値 |
---|---|---|
1 | 1 | 0.25 |
1 | 3 | 0.32 |
2 | 1 | 0.41 |
2 | 2 | 0.67 |
timeseries にはギャップがある場合があります。たとえば、上記のテーブルでは、SecurityId=1 には DateId=2 に行がなく、SecurityId=2 には DateId=3 に行がありません。
timeseries の直前の値でギャップを埋めるリクエストを作成する必要があります。すべての証券とすべての日付の値は次のようになります。
セキュリティ ID | 日付ID | 価値 |
---|---|---|
1 | 1 | 0.25 |
1 | 2 | 0.25 |
1 | 3 | 0.32 |
2 | 1 | 0.41 |
2 | 2 | 0.67 |
2 | 3 | 0.67 |
すべての日付を右結合で一致させようとしました
残念ながら、DateId の等価性が一致するセキュリティが常に存在するため、これは機能しません。そのため、値のない TimeSeries 行を取得できません。
私はSQL Server標準2019に取り組んでおり、単一のクエリに基づくソリューションを目指しています(一時テーブルまたはカーソルを使用した手順を回避します)。
sql - 次の null 以外の値でギャップを埋める
私は数日前からこれに対する解決策を見つけようとしています。次のデータセットがあります。
望ましい出力は、order_of_occurrence列の null 値を次の非 null 値に置き換えることです。このような:
サブクエリを使用して出現順列から null 以外の値を取得しようとしましたが、複数の値が返されます。次のように:
ありがとう!