問題タブ [window-functions]
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データベースがあります。
一部の管轄区域では、1つの交通機関の停車地に複数のチケットが書き込まれているかどうかが示されていません。ただし、それは他のフィールドを分析することで推測できます。このデータを検討してください。
私はそれを推測することができます:
- チケット1と2は、運転免許証番号とタイムスタンプを共有しているため、1つの交通機関で作成されました。
- 5と7についても同じですが、チケット6がそれらの間にあることに注意してください。おそらく、別の役員が別の場所で同時にチケットを書いていたか、データ入力オペレーターが順不同で何かを入力したのでしょう。
交通停止ごとに一意のIDを持つ別の列を追加したいと思います。値が重複するため、テーブルの主キーにはなりません。例えば:
C#でこれを行うための計算集約型の欲張りアルゴリズムの方法を考えることができますが、機能する効率的なSQLクエリはありますか?
sql - TOP n WITH TIESに相当するPostgreSQL:LIMIT "with ties"?
私はSQLServerでこれに似たものを探しています:
LIMIT
PostgreSQLで知っていますが、上記に相当するものはありますか?毎回余分なクエリを節約できるので、興味があります。
Numbers
属性を持つテーブルがある場合nums
:{10, 9, 8, 8, 2}
。私は次のようなことをしたい:
{10, 9, 8, 8}
トップ3に加えて、もう1つを結ぶため、余分なものが必要になるため、戻る必要があり8
ます。
sql - 列の上位2つの値のいずれかを持つすべての行を取得します
複数のエントリがあるテーブルがあり、販売基準に従って注文しました。したがって、エントリが次のような場合:
売上高が最も多いアイテムと2番目に多いアイテムを抽出したいと思います。a
そのため、、、を抽出したいと思いb
ますc
。
これを助けることができるPostgreSQLの関数はありますか?
postgresql - PostgreSQL:ソート順に従って最も近い行を選択します
私はこのようなテーブルを持っています:
1.3293 | 7876543213
そして、特定の行(たとえば)を見つけて、最も近い4つの行を選択したいと思います。上に2つ、可能であれば下に2つ。
ソート順は ORDER BY a ASC
です。
この場合、私は次のようになります。
PostgreSQLを使用してこれを達成するにはどうすればよいですか?(ところで、私はPHPを使用しています。)
PS:最後または最初の行の場合、最も近い行は4つ上または4つ下になります。
sql - OVERとORDERBYを使用するにはどうすればよいですか
このコードのバグを理解できません。
コード:
エラー:
メッセージ102、レベル15、状態1、行3
'order'の近くの構文が正しくありません。
mysql - 行方不明の日付を平均化するためのMySQL
その行の前の最も近いIDとその後の最も近いIDの日付を平均することにより、date
列がある行を更新しようとしています。NULL
以下のデータでは、IDで行を更新して次のように26
します。2011-10-19
どのMySQLステートメントがこれを達成しますか?
その他の注意事項:
データは次のようになります。
手続きは使いたくないです。
これまでのところ私は持っています...
mysql - 前の行との MySQL 日時比較
2 つの日付列を持つテーブルがあります。DATE1 は NULL の場合もあれば、重複する値が含まれている場合もあります。DATE2 は常に入力され、一意です。私のテーブルは、最新の DATE2 日付で並べ替えられています。
値が次の行から複製されるか、NULL でない限り、DATE1 が選択される新しい日付列を作成したいと思います。この場合、DATE2 の値を取得します。また、これらの条件のいずれかがいつ満たされたかを示す 2 つのブール列も必要です。わかりやすいように、例を使用して説明します。
下の表では、行 5 と行 6 の値が2011 年 7 月 27 日であるため、行 5 の新しい日付列を2011 年 8 月 4 日(DATE2)に設定したいと考えています。行 3 では、DATE1 の値が NULL なので、DATE2 の値を取得します。
いくつかの内部選択ステートメントを試しましたが、これを機能させることができません。何か案は?
現在データベースにある私のテーブル:
最終結果は次のようになると思います。
本当にありがとう!
sql - 個人のお客様からの注文をカウントする方法は?
私はテーブルを持っています
customeridは外部キーです。
会社名と出力のすべてのフィールドを使用して、個々の顧客が行った注文の数が必要です。
postgresql - 前のレコードの要素をチェックするPostgreSQL
前のレコードの要素をチェックして、クエリする日付が終了日から開始日の7日前までの特定の範囲内にないことを確認する必要があります。私は次のコードを持っています:
したがって、基本的に、次のことを確認する必要があります。
クエリの日付が開始日と終了日の間にある場合
照会日が開始日の開始日の7日前の場合
クエリの日付が終了日と開始日の間にある場合は、その日付に関連付けられているIDを返します。
ほとんどの場合、関数は正常に機能しているように見えますが、結果が0になるように見える場合があります(常に1つの結果があるはずです)。関数に何か足りないものがありますか?私は最後のifステートメントについて気が狂っています。つまり、前のレコードの終了日から現在のレコードの開始日までをチェックしようとしています(7日間のギャップがあります)
編集:日付が重なることはありません。
sql - フィールド内の値の結合、グループ化、カウントを含む SQL ビュー
目標は、各タイプと専門分野の組み合わせについて、最も一般的な 50 の手順コードを示すビューを作成することです。(特殊コードは異なるタイプで繰り返すことができます)
私は2つのテーブルを持っています:
テーブルproviders
には以下が含まれます:
provider_type
provider_specialty
provider_id
(およびこの問題には関係のないデータ)
テーブルのservices
内容:
provider_id
procedure_code
(およびその他のデータ ポイント - 関連なし)
最終結果は次のようになります。
何か案は?これが非常に複雑なクエリであることはわかっています。更新の周期性を実行するスクリプトを作成することだけを検討しましたが、より多くのリアルタイム データが必要です。