問題タブ [generate-series]

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 投票する
1 に答える
304 参照

sql - 単一のクエリから指定された範囲内の日付のリストを返します

PostgreSQL のコマンド NOW() と同様に、範囲内の日付のリストを取得しようとしていnow()ますが、現在の日付のみを返すという唯一の違いがあります。

次のように実行すると、次のようになります。

または例として、私はこれを行うことができます:

そして結果は昨日

私が必要とするのは、特定の範囲内のすべての日付を含むリストを返すことができるクエリです.次のように出力を取得します。

これを達成する方法についてのアイデアはありますか?他に方法がない場合を除き、ストアド プロシージャまたは関数を使用しないことを優先します。

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

sql - 別のテーブルの数値に基づいて、1 つのテーブルに複数の行を挿入する

MacOSX で Postgres 9.3 を使用して初めてデータベースを作成しています。

AテーブルとがあるとしましょうBA空っぽから始まりB、満たされた状態で始まります。以下の表のように、all_namesテーブルの列のエントリ数をテーブルのfor eachBと等しくしたいと思います。したがって、一意の各エントリとそのカウントを含める必要があります。まだ構文に慣れていないので、どうすればいいのかわかりません。列は冗長です。numbernamesABnamesall_namesnumberbirthday

テーブルA

テーブルB

これは正しい方法でしょうか?

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

postgresql - 手続き型コードを含む Postgres ステートメントの構文エラー

基本的な for ループ サンプルを作成しようとしていました。私が間違っていたことを見つけることができませんでした。助けてください:

[エラー] 2.0-2: 構文エラー、予期しない文字

0 投票する
0 に答える
90 参照

mysql - MySQL で同等のシリーズを生成する

こんな問い合わせがあります

結果

このような結果を出したい

このようなユニオンを使用してpostgresqlでこれを行いました

MYSQLでこれを行うにはどうすればよいですか?

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

sql - Postgres での時系列クエリ

これは、 Postgres での効率的な時系列クエリに対する @Erwin の回答からの質問です。

簡単にするために、その質問と同じテーブル構造を使用します

元の質問は、範囲内のすべての日付の各ウィジェットのスコアを取得することでした。日付にウィジェットのエントリがなかった場合は、そのウィジェットの前のエントリのスコアを表示します。クロス結合とウィンドウ関数を使用したソリューションは、クエリ対象の範囲にすべてのデータが含まれている場合にうまく機能しました。私の問題は、対象の日付範囲外であっても、以前のスコアが必要なことです。

サンプルデータ:

2012 年 5 月 5 日から 5 月 10 日までの範囲 (つまりgenerate_series('2012-05-05'::date, '2012-05-10'::date, '1d')) をクエリすると、次のようになります。

これまでの最良の解決策(これも@Erwinによる)は次のとおりです。

しかし、このSQL Fiddleでわかるように、最初の 2 日間はウィジェット 1337 のスコアが null になります。その代わりに、行 1 の以前のスコア 52 を表示したいと思います。

これを効率的な方法で行うことは可能ですか?

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

sql - GROUP BY で SELECT COUNT を実行する際にゼロ値も選択する

統計モジュールを作成中です。私の仕事の 1 つは、過去 1 週間の登録ユーザー数の合計でプロットを作成することです。
問題は、私が担当しているサービスは少数の顧客しか使用していないため、誰も登録していない日が頻繁に発生することです。

テーブルの説明 (簡略化) は次のとおりです。

過去 7 日間の合計を取得するには、次を使用します

すべて正常に動作し、Postgres は次のように返します。

ただし、カウントが 0 の日付は省略されます。もちろん、このクエリの結果 (この場合は PHP + Symfony) を解析する必要があるため、目的の日付範囲を反復処理して空白を埋めることができますが、PostgreSQL にそれを実行するように依頼する簡単な方法があるかどうか疑問に思っています。次のようなものを返します。

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

postgresql - 一連の日付を生成 - 日付型を入力として使用

ドキュメンテーションforgenerate_seriesは、引数がintor bigintforgenerate_series(start, stop)およびgenerate_series(start, stop, step)case およびtimestampor timestamp with time zoneforである可能性があると述べていますgenerate_series(start, stop, step interval)

type を input としてgenerate_seriesも機能し、 return を返す理由は何ですか?datetimestamp with timezone