問題タブ [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 投票する
2 に答える
492 参照

sql - SQLは学生の明確な欠席期間をカウントします

私は学生が欠席していたギャップなしで明確な期間を数える方法を探しています:

学生が欠席するたびに、欠席テーブルにレコードを作成します。一部の欠席は重複する可能性があり、一部は以前の欠席を延長します。

ここで、ギャップのある一意の不在期間の数をカウントしたいので、結果は次のようになります。

111111には2つの不在期間があり、間にギャップがあります

222222にも2つの欠勤期間がありますが、ギャップがないため、1つの欠勤期間と見なす必要があります。

333333の欠勤期間は1つだけです

444444には2つの期間が重複しており、これもギャップがないため、1つの不在期間と見なす必要があります。

誰かが私がこれについてのクエリを書くのを手伝ってもらえますか?

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

php - mysqlIDがphpをスキップするかどうかを確認します

mysqlで、idの列があり、intautoincrementだけだと言います。

削除されたIDがある場合にphpを使用して通知する方法はありますか?

私が持っていると言うように

5 6 7 8 10

9が欠落していることを通知するために必要であり、すべてのIDに対してこれを続行します。これを行う方法はありますか?

ありがとう

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

mysql - MySQL:連続した日数でグループ化し、グループをカウントします

都市での各ユーザーのチェックインを保持するデータベーステーブルがあります。ユーザーが都市に何日滞在したか、次にユーザーが都市に何回訪問したかを知る必要があります(訪問は都市での連続した日数で構成されます)。

したがって、次の表があると考えてください(簡略化され、DATETIME同じユーザーと都市のみが含まれています)。

このユーザーがこの都市行っ日数6です30.06、01.07、02.07、01.08、05.08、06.08

私はこれを使用してこれを行うことを考えましたSELECT COUNT(id) FROM table GROUP BY DATE(datetime)

次に、このユーザーがこの都市に行った訪問数について、クエリは3 30.06-02.07、01.08、05.08-06.08 返す必要があります。

問題は、このクエリをどのように作成すればよいかわからないことです。

どんな助けでも大歓迎です!

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

sql - SQL Server 2008、一時テーブル、カーソル

私はしばらくこれに取り組んできました。どうすればこのテーブルを取得できるのだろうと思っていました:

次の表のようになります。

カーソルを使用してみましたが、必要ありません。また、グループ化する必要があります。連続した日が切れるとすぐに、新しいグループ化が発生します。どんな助けでも大歓迎です。

このクエリは、上記のサンプル データを生成します

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

sql - 複数の重複する間隔から経過した時間を見つけるSQL

MSSQL、DB2、またはOracleを使用していません。CTEなし。OVERLAP述語はありません。INTERVALデータ型はありません。状況:修理される車両では、その作業のために注文されたすべての部品が受け取られるまで、作業を開始できません。部品は、修理開始前に複数回注文される場合があります。車両が「パーツホールド」されていた時間を抽出する必要があります

したがって、id = 1として識別された車両の場合、4つの異なる機会に部品が注文され(d1)、受け取られました(d2)。

上から見たように、作業開始までの待ち時間(車両が作業可能になった日を8/1と仮定)は13日でした。部品の待機に実際に費やされた時間は11日でした。これは、データから導き出す必要のある日数です。実際の日時データは、時間を抽出するタイムスタンプになります。このサンプルデータでは、表示を簡単にするために日付を使用しました。セット(psm、udf、カーソルではない)ベースのソリューションを生成するのに苦労しています。TIA

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

sql - シーケンスが壊れていない場合は、複数の行から合計時間間隔を取得します

私はテーブルを持っWorkていますPerson(これらは問題を理解するための単なる例です)。

構造

Workテーブル

Personテーブル

データ

Workテーブル

Personテーブル

個人IDを持つ個人名のみ

期待される出力

間隔は順番になっている必要があります。途中で壊すことはできません。そのため、Person1には2つの間隔があります。

何かが変わる場合はpostgresを使用しています。何か考えはありますか?1つのクエリで実行したかったのですが、そのような解決策がない場合は、phpでインターバルマージを実行します。

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

sql - グループ終値

2列の整数を持つテーブルがあります。最初の列は開始インデックスを表し、2 番目の列は終了インデックスを表します。

シンプル ここまで。私がやりたいことは、一緒に続くすべてのレコードをグループ化することです:

レコードは、前の終了インデックスと同じインデックスで開始するか、1 のマージンで開始することができます。

両方の結果になります

SQL Server 2008 R2 を使用しています。

どんな助けでも素晴らしいでしょう

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

sql-server - SQLで日付範囲を連結します(T / SQLを推奨)

日付とコードを含む行を日付範囲に連結する必要があります

複合主キー(日付とコード)である2つの列を持つテーブル

に変換する必要があります

他の方法はありますか、それともカーソルループが唯一の方法ですか?

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

mysql - MySQL で GROUP BY クエリの最後の最初の行を選択できますか?

[MySQL を使用] 以下に示すようなデータを含むテーブル メッセージがあります。

次の結果を返すクエリはどれですか?

0 投票する
6 に答える
4672 参照

php - SQL:データベースから欠落しているすべての日付レコードを取得します

次の構造のDBテーブルがあります

典型的な行が1の場合、 '2011-10-13 12:00:00'、4

私の行には過去4か月のデータが含まれていますが、かなりの数の日が欠落しているので、SQLを使用して欠落している日を知りたいのですが、このクエリを作成する方法について何かアイデアはありますか?

どういうわけか日数のリストを取得し、これらをデータベースの値と比較することで、これについて行っているのではないかと思います。

PHPまたは他のプログラミング言語を使用して複数のクエリを使用してこれを実行できることは知っていますが、可能であればデータベースレベルでこれを実行したいと思います。

前もって感謝します