問題タブ [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 に答える
10404 参照

sql - SQL での日付の反復処理

次のようなデータのテーブルがあります。

これらの日付範囲はいずれも、真夜中をまたぐことはできません。
入力の開始日が 2010-08-02 で終了日が 2010-08-05 の場合、次の出力が得られる SQL を作成したいと考えています。

私は、おそらく次のような行として、関連する作業がない日も結果セットに表示する必要があります。

他の言語と同じように SQL で日付を反復処理する方法がよくわかりません。

これに何らかのコンテキストを与えるために、この出力は最終的に Stacked Chart .Net コントロールに接続されます。

誰かが手がかり、チュートリアルへのリンク、またはその他のヘルプを教えてくれませんか? そうでなければ、私は何日もこれをいじることになると思います!

ありがとうございました!

ジョナサン

0 投票する
7 に答える
3556 参照

sql - SQL面接の質問.

インタビューで次のような質問を受けました: 自然数のテーブルに欠けているものがある場合、最初のテーブルの数のギャップの始まりと 2 番目のテーブルで終わる 2 つのテーブルの出力を提供してください。例:

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

sql - グループ化するときにSQLServerGroup Byに列の順序を尊重させるにはどうすればよいですか?

SQLServer2005を使用しています。

悪いテーブルのデザインについては、この投稿の終わりを参照してください。

2つの列があります。2列目の順番で1列目でグループ化したいと思います。Microsoftのドキュメントには、GROUP BY句は順序を考慮しないと記載されていますが、これを強制するにはどうすればよいですか?

これが私の疑似クエリです:

次の表でクエリを実行した場合:

次の結果が得られるはずです。

重要なのは、Aの4つのレコードすべてを結果セットにまとめることができないということです。テーブル/サブクエリがクエリされると、col_2で並べ替えられ、col_1の新しいインスタンスごとに新しいグループ化が行われます。おかげで、私はこれについて何も見つけることができませんでした。

テーブルのデザインはもできません。これは、プロプライエタリソフトウェアで使用される外部ベンダーによって作成されたテーブルでした。繰り返しますが、テーブルのデザインについては何もできません!!!!

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

sql - SQL クエリ: 主キーのギャップを見つける

次のことを行う単一の選択ステートメントを作成するにはどうすればよいですか。

テーブルに整数列があり、その列で値が 1000 未満で、値が TableB Column1 に存在しない最小の使用可能な (未使用の) 値を見つけたい

ありがとう

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

sql - 順番に並んでいる行のみによるSQLグループ化

次の表があるとします。

以下を出力するには、SQLクエリが必要です。

基本的に私はやっていgroup byますが、シーケンスに一緒にある行に対してのみです。何か案は?

データベースはSQLServer2008上にあることに注意してください。このトピックに関する投稿がありますが、Oracleのlag()関数を使用しています。

0 投票する
14 に答える
79665 参照

mysql - mysqlで連続番号付けのギャップを見つける方法は?

値が別のシステムからインポートされたテーブルを持つデータベースがあります。自動インクリメント列があり、重複する値はありませんが、欠損値があります。たとえば、次のクエリを実行します。

100 を返すはずですが、代わりに 87 を返します。欠落している数値の値を返す、実行できるクエリはありますか? たとえば、ID 1 ~ 70 および 83 ~ 100 のレコードが存在する可能性がありますが、ID が 71 ~ 82 のレコードはありません。71、72、73などを返却したいです。

これは可能ですか?

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

sql-server - 2つの日時レコードセット間のtsql intesect

いくつかの「リソース」の予定を含む予定テーブルがあり、それをクエリして、(特定のリソースについて) 日付範囲内のすべての空き予定スロットを返す必要があります。

これにアプローチする最善の方法は、可能な予定時間の一時テーブルを生成することであると考えていました (予定の長さは 30/60/90 分である可能性があるため、予定の長さはクエリに対して指定されます)。これらの 2 つのレコードセットの交差。つまり、予定テーブルに予定がない日付範囲全体のすべてです。したがって、そのリソースのすべての可能な予定を返します。

または、おそらく-再び-可能な予定の日時のレコードを生成し、実際にすでに予約されている予定を除いて..?

? もちろん、誰かがより簡単なオプションを提案できない限り。

また、可能なテーブル、つまりレコードを含むテーブルなどを生成する方法も完全にはわかりません2010-12-08 09:00, 2010-12-08 10:00,(1時間の予定の場合)...

何か案は?

編集:可能性について漠然とした考えを持っています...

0 投票する
4 に答える
4278 参照

mysql - テーブルで使用されていないすべての日付を返す SQL クエリ

したがって、次のようなレコードがあるとしましょう。

2011-01-03 と 2011-01-05、つまり未使用の日付を返すクエリを作成するにはどうすればよいですか。ブログを未来にポストデートしますが、まだ何も投稿されていない日を示すクエリが必要です。現在の日付から 2 週間先の日付が表示されます。

アップデート:

私は、日付の恒久的なテーブルを構築することにあまり興奮していません。それについて考えた後、一時テーブルを作成する小さなストアド プロシージャを作成することが解決策のように思えます。何かのようなもの:

データがないことを選択することは不可能だと思います。

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

sql - SQLServerデータ変換

私は次の形式のデータを持っています:

そして私はそれをフォーマットで欲しい

編集:データを更新しました。

データを簡単に変換するにはどうすればよいですか?

これは1回限りの変換です。

コメント/回答ありがとうございます!

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

sql - T-SQL で開始日と終了日 (設定ベース) を見つける

私は以下を持っています。

望ましい出力は

セットベースのアプローチでTSQLを使用して同じことを達成する方法。

DDLは以下の通りです