問題タブ [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.
sql - 単一のクエリから指定された範囲内の日付のリストを返します
PostgreSQL のコマンド NOW() と同様に、範囲内の日付のリストを取得しようとしていnow()
ますが、現在の日付のみを返すという唯一の違いがあります。
次のように実行すると、次のようになります。
または例として、私はこれを行うことができます:
そして結果は昨日
私が必要とするのは、特定の範囲内のすべての日付を含むリストを返すことができるクエリです.次のように出力を取得します。
これを達成する方法についてのアイデアはありますか?他に方法がない場合を除き、ストアド プロシージャまたは関数を使用しないことを優先します。
sql - 別のテーブルの数値に基づいて、1 つのテーブルに複数の行を挿入する
MacOSX で Postgres 9.3 を使用して初めてデータベースを作成しています。
A
テーブルとがあるとしましょうB
。A
空っぽから始まりB
、満たされた状態で始まります。以下の表のように、all_names
テーブルの列のエントリ数をテーブルのfor eachB
と等しくしたいと思います。したがって、一意の各エントリとそのカウントを含める必要があります。まだ構文に慣れていないので、どうすればいいのかわかりません。列は冗長です。number
names
A
B
names
all_names
number
birthday
テーブルA
テーブルB
これは正しい方法でしょうか?
postgresql - 手続き型コードを含む Postgres ステートメントの構文エラー
基本的な for ループ サンプルを作成しようとしていました。私が間違っていたことを見つけることができませんでした。助けてください:
[エラー] 2.0-2: 構文エラー、予期しない文字
mysql - MySQL で同等のシリーズを生成する
こんな問い合わせがあります
結果
このような結果を出したい
このようなユニオンを使用してpostgresqlでこれを行いました
MYSQLでこれを行うにはどうすればよいですか?
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 を表示したいと思います。
これを効率的な方法で行うことは可能ですか?
sql - GROUP BY で SELECT COUNT を実行する際にゼロ値も選択する
統計モジュールを作成中です。私の仕事の 1 つは、過去 1 週間の登録ユーザー数の合計でプロットを作成することです。
問題は、私が担当しているサービスは少数の顧客しか使用していないため、誰も登録していない日が頻繁に発生することです。
テーブルの説明 (簡略化) は次のとおりです。
過去 7 日間の合計を取得するには、次を使用します
すべて正常に動作し、Postgres は次のように返します。
ただし、カウントが 0 の日付は省略されます。もちろん、このクエリの結果 (この場合は PHP + Symfony) を解析する必要があるため、目的の日付範囲を反復処理して空白を埋めることができますが、PostgreSQL にそれを実行するように依頼する簡単な方法があるかどうか疑問に思っています。次のようなものを返します。
postgresql - 一連の日付を生成 - 日付型を入力として使用
ドキュメンテーションforgenerate_series
は、引数がint
or bigint
forgenerate_series(start, stop)
およびgenerate_series(start, stop, step)
case およびtimestamp
or timestamp with time zone
forである可能性があると述べていますgenerate_series(start, stop, step interval)
。
type を input としてgenerate_series
も機能し、 return を返す理由は何ですか?date
timestamp with timezone