問題タブ [gaps-and-islands]

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.

0 投票する
3 に答える
929 参照

sql - T-Sql は、複数の行にわたって文字列シーケンスをカウントします

SQLで複数の行にまたがるデータのサブセットを見つけるにはどうすればよいですか?

別の文字列が見つかる前に文字列 (または数値) の出現回数をカウントし、別の文字列が見つかる前にこの文字列が出現する回数をカウントしたいと考えています。これらの文字列はすべてランダムな順序にすることができます。

これは私が達成したいことです:

columnx次のようなデータを含む1 つの列 ( ) を持つ 1 つのテーブルがあります。

クエリの結果は次のようになります。

これはSQLでも可能ですか、それともこれを行うために小さなC#アプリを書く方が簡単でしょうか?

0 投票する
3 に答える
980 参照

sql - SQLCOUNTおよびGROUPBYMonthに特定の月のレコードがありません

私は次のデータセットを持っています:

また、特定のユーザーのCOUNTを表示するだけでなく、レコードがない月の場合は0を表示するレポートが必要です。

私はなんとかそれを機能させることができましたが、レコードのない月の間、0はありませんでした。これまでのところ、エラーをスローしているこの構文があります。

0 投票する
5 に答える
11315 参照

sql - グループ化列の値を順番に変更してデータをグループ化する

以下のデータで

次の出力を生成したいと思います。

価格でグループ化し、最大日付と最小日付を表示すると、次のようになりますが、これは私が望むものではありません (日付の重複を参照してください)。

したがって、本質的に私がやろうとしているのは、グループ列の製品と価格に基づくデータの段階的な変化によってグループ化することです。

これを達成するための最もクリーンな方法は何ですか?

0 投票する
5 に答える
6807 参照

mysql - auto_increment列で「穴」を見つける方法は?

たとえば、ID 3 を削除すると、次のようになります。

ここで、欠落している ID を検索したいと思います。これは、ID を再度入力したいからです。

auto_increment インデックスで「穴」を検索する方法はありますか?

ありがとう!

0 投票する
2 に答える
286 参照

mysql - 内部結合を使用して、テーブル内の特定のレコードと関連するイベントの間の間隔を決定する

特定の訪問に対するイベントを記録するために使用される単純なテーブルがあります。

個人はVisits(VisitId)に関連付けられています。訪問ごとに、個人は複数の履歴レコードを持つ場合があります。イベントは、入場、転送、または退院することができます。

各個人の各場所での期間を計算するクエリを作成しようとしています。訪問ごとに複数回ロケーションを訪問する場合があることに注意してください。個人は、入場または転送イベントでロケーションに入り、退院または転送で退出します。

個人がロケーション「A」に入ると、入場または転送レコードにロケーション「A」がリストされますが、転送(または退院)する場合は、別のロケーション、たとえば「B」がリストされます。

したがって、ロケーション'A'への転送とそれに続くロケーション'B'への(時間内の)転送の間の間隔を見つける必要があります。ロケーション内転送は評価されません。

解決策はおそらくINNERJOINに基づいていることを理解していますが、最新の転送「in」に対応する転送「out」レコードを選択する方法を理解するのに迷っています。

これはかなり複雑だと思います。説明が十分に明確になっていることを願っています。

どんなガイダンスでも大歓迎です。

0 投票する
1 に答える
610 参照

python - Pythonでデータをマージしながらギャップを埋める

ここに私の問題があります:私は新しい一般的なマトリックスを構築するためにデータを抽出するいくつかのマトリックスから始めています。最初のステップは、csvモジュールを使用してinfileを読み取り、最終的なマトリックスの列ヘッダーとして使用される「位置」値(row [1]に格納されている)を抽出することです。各インファイルには、合計「位置」のサブセットが含まれています。これは、複数のインファイルに存在する場合があります。したがって、私はまず、繰り返される値を無視して、すべての「位置」値のマージから(小さい整数から大きい整数への)順序付きリストを作成しています。これが私が行っている方法です。

それが終わったら、元のinfileに戻り、上で作成した対応するヘッダー(つまり「position」)の下に追加したい別の値(今回はrow [3])を読み取ります。各インファイルには合計位置のサブセットが含まれているため、個々のインファイルの行[1]に最終的なマトリックス位置(リスト "pos"に格納されている)が存在しない場合は、ギャップを埋める必要があります。ここに私が試しているコードがあります:

言うまでもなく、私は立ち往生しています。whileループを使うことを考えていましたが、あまり経験がないので、なんらかのアドバイスをお願いしています。

サンプルデータ

入力(サンプル1):

入力(サンプルn):

出力(入力row [1]を変数として、row [3]を値として持つ単一の行列。各行は異なるサンプル、つまり異なる入力ファイルです):

0 投票する
3 に答える
261 参照

sql - オラクルのグループ化

私ができるようにしたいのは、IDが1つのグループにある時間の各「エピソード」の時間を合計し、NCからCおよびCからNCの最初のエピソード時間を取得し、NCからCへの最後のエピソード時間を取得することですおよび C から NC 下の表では、GRP_Time列を手動で追加しました。また、最終結果表を追加しました

これは私が体系的に生成しようとしているメトリックです。

結果表

0 投票する
1 に答える
2675 参照

sql - テーブルで欠落している時間間隔を見つける

次の表には、いくつかの異なるデバイスから15分ごとに読み取られる値が含まれています。

特定の月の、エントリがない各デバイスのテーブルのすべてのギャップを見つけたいと思います。上記の表の場合、結果は次のようになります。

このテーブルには、約35000のデバイスと1億のエントリがあります。

これが私が試したものです。かなり遅いですが、必要なものを返します。ただし、速度に加えて、別の問題があります。特定の月のデバイスの最後のエントリまでの欠落した間隔のみが検出されます。それ以降は無視されるため、欠落している値の余分な間隔を見逃す可能性があります。

0 投票する
11 に答える
84510 参照

sql - 一連の数字から欠落している数字を確認する方法は?

私は大学の入学システムを作成するプロジェクトを行っています。テクノロジーは Java と Oracle です。

テーブルの 1 つには、事前に生成されたシリアル番号が格納されています。後で、それらのシリアル番号に対して、申請者のフォーム データが入力されます。私の要件は、エントリープロセスが完了したら、ロットごとのレポートを生成する必要があるということです. 事前に生成されたシリアル番号のフィード中に、シーケンス番号が失われた場合。

たとえば、テーブルでは、シーケンス番号が 7001、7002、7004、7005、7006、7010 であるとします。上記のシリーズから、7001 から 7010 までの番号が 7003、7007、7008、および 7009 であることは明らかです。

これらの数値を見つけるために Oracle で利用できる DBMS 関数はありますか、またはストアド プロシージャが私の目的を達成できる場合は、アルゴリズムを提案してください。

Java でいくつかの手法を見つけることができますが、速度を上げるために Oracle で解決策を見つけたいと考えています。

0 投票する
3 に答える
7555 参照

mysql - MySQLで時系列データのギャップを見つける方法は?

entry_timeとvalueの2つの列を持つデータベーステーブルがあるとします。entry_timeはタイムスタンプですが、valueは他のデータ型にすることができます。レコードは比較的一貫しており、およそx分間隔で入力されます。ただし、多くの場合、エントリが作成されない可能性があるため、データに「ギャップ」が生じます。

効率の観点から、クエリで少なくとも時間Y(新旧両方)のこれらのギャップを見つけるための最善の方法は何ですか?