問題タブ [self-join]
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 - 自己結合、相互結合、およびグループ化
いくつかの情報源から経時的な温度サンプルの表を取得しており、設定された時間間隔ですべての情報源の最小、最大、および平均温度を見つけたいと考えています。一見すると、これは次のように簡単に実行できます。
ただし、問題の間隔中に欠落しているソースを無視するのではなく、欠落しているソースの最後の既知の温度を使用したい場合、ソースがドロップインおよびドロップアウトする場合、事態ははるかに複雑になります (私が困惑するところまで!)。サンプル。日時を使用し、時間の経過とともに不均一に分布するサンプル全体で間隔 (たとえば、1 分ごと) を構築すると、事態はさらに複雑になります。
最初のテーブルからの時間が2番目のテーブルの時間以上であるサンプルテーブルで自己結合を実行し、グループ化された行の集計値を計算することで、必要な結果を作成できるはずだと思いますソース。しかし、私は実際にこれを行う方法について困惑しています。
これが私のテストテーブルです:
最小値、最大値、平均値の計算を行うには、次のような中間テーブルが必要です。
次のクエリは、私が望むものに近づけていますが、指定された時間間隔での最新の結果ではなく、ソースの最初の結果の温度値を取ります:
更新: chadhoc (ちなみに、素晴らしい名前です!) は、彼が使用する をサポートしていないため、残念ながら MySQL では機能しない優れたソリューションを提供しFULL JOINます。幸いなことに、単純なUNIONものが効果的な代替品であると私は信じています。
更新 2: MySQL はEXPLAINchadhoc のコードに対して次の出力を提供します。
Charles のコードを次のように動作させることができました。
その説明は次のとおりです。
sql - 再帰的な自己結合を行う最も簡単な方法は?
SQL Server で再帰的な自己結合を行う最も簡単な方法は何ですか? 次のようなテーブルがあります。
そして、特定の人から始まる階層に関連するレコードのみを取得できるようにしたいと考えています。したがって、PersonID=1 で CJ の階層を要求すると、次のようになります。
EB の場合は次のようになります。
私はこれに少しこだわっていますが、結合の束に基づく固定深度の応答とは別に、これを行う方法を考えることができません。レベルが多くないので、これはたまたまですが、適切に行いたいと思います。
ありがとう!クリス。
sql - 複雑な結合クエリの作成を支援
テーブルオーダーをしています
データ型のタイプミスがある場合は無視してください。
ベンダー ファクトリごとにデータを取得するのに役立つ SQL クエリを作成したいと考えています。フェッチするデータには、ベンダー工場ごとの注文数 (vendor_no、factory_no の一意のグループ)、vendor_no、factory_no、および fcr_date が completion_date より後の注文数が含まれます。
私はSQLを初めて使用しますが、この特定のクエリは非常に複雑に思えます。このクエリの書き方について誰かが私を導いてくれれば幸いです。
ありがとう。
mysql - MySQL 参加の質問
自己結合を使用して次の 2 つのクエリを 1 つに結合できるかどうか、またその方法を教えてください。
クエリ 1:
クエリ 2:
ugc_metaの写真のアルバム名が含まれugc_contentます。ugc_contentアルバムと写真の行が含まれています。rows写真を表すparent_content_idにはcontent_id、親行の があります。テーブルまたは DB 構造を変更するオプションがありません。
現時点では、クエリ1からのすべての結果行に対して新しいクエリ(query2)を実行していますが、これは最適ではありません;-)
ありがとう!
sql - 変数データの自己結合
次のデータを含むテーブルがあります。
以下を生成するクエリを書きたいと思います。
これは、テーブルを前の会計週と簡単に結合することで簡単に実現できますがt1.[Fiscal Week] = t2.[Fiscal Week] - 2、違いが 3 週間ある場合があるため、必ずしも簡単ではありません。
次のようなもので簡単に最大レコードを取得できます。
しかし、結合を機能させるためにそれを抽象化することになると、私は途方に暮れています。
「現在の記録よりも小さい最大の会計週」で自己結合を行うにはどうすればよいですか?
sql - SQLテーブルとそれ自体の比較(自己結合)
混合列に基づいて重複する行を見つけようとしています。これは私が持っているものの例です:
このクエリを実行すると、次のようになります。
私は両方のIDを取り戻すことを期待しています。(1と2)しかし、私は1行しか取り戻せません。
私の考えでは、各行を比較する必要がありますが、これは正しくないと思いますか?これを修正するために、クエリを次のように変更しました。
これで両方の行が得られますが、行数に基づいてパフォーマンスが非常に急速に低下します。
パフォーマンスと結果について私が思いついた最後の解決策は、ユニオンを使用することでした。
しかし、全体として、これが機能しない理由の理解が明らかに欠けています。これは、おそらく何か間違ったことをしていることを意味します。誰かが私を正しい方向に向けることができますか?
ruby-on-rails - has_many :through を使用して、Ruby-on-Rails で個人間の関係をモデル化する
関係が必ずしも階層的であるとは限らない (つまり、親と子ではなく、友人と同僚) ある個人と別の個人との関係をモデル化したいと考えています。 、 設立日)。最後に、act_as_tree 関係を使用して、これらの関係をナビゲート/図解できるようにしたいと思います。
移行:
モデル:
質問:
- これらのテーブル間の関係を正しく定義するにはどうすればよいですか?
- my_id/your_id の組み合わせは一意であるため、リレーションシップ テーブルで :id を削除することは理にかなっていますか?
- RoR の規則を利用するための「my_id」および「your_id」フィールドのより適切な名前はありますか?
- 列の 1 つが名前 'parent_id' でない場合、act_as_tree 関係で問題が発生しますか?
sql - 自己結合の説明
自己結合の必要性がわかりません。誰か説明してくれませんか?
簡単な例は非常に役に立ちます。
sql - このチュートリアルの実行中の合計と SQL の自己結合について誰か説明してもらえますか?
私はここでチュートリアルを読んでいました:http://www.1keydata.com/sql/sql-running-totals.htmlそして、ランク付け、中央値、実行中の合計になると、突然非常にばかげて信じられないほど複雑になるまで、すべて意味がありました、など。そのクエリがどのように現在の合計になるのか、わかりやすい英語で誰か説明できますか? ありがとう!
sql - 同じテーブルに対する推移的 SQL クエリ
おい。次の表とデータを検討してください...
- 上記のデータは、サーバー間での一部のデータの実行フローのログを表しています。
- たとえば、一部のデータが「outside-server1」から一連の「my-servers」に流れ、最終的に宛先の「others-server2」に流れました。
質問 :
1) このログを表現可能な形式でクライアントに提供する必要があります。クライアントは、一連の「my-servers」について何も知る必要はありません。私が提供することになっているのは、インフラストラクチャに入力されたデータのタイムスタンプと、それが離れたときのタイムスタンプだけです。次の情報にドリルダウンします。
同じようにSQLを書きたい!誰か助けてくれませんか?注 : 常に 3 つの「my-servers」があるとは限りません。それは状況によって異なります。たとえば、data2 などに 4 つの「my-server」が関係している可能性があります。
2) SQL に代わるものはありますか? 私はストアドプロシージャ/などを意味しますか?
3) 最適化? (レコードの数は膨大です! 現在、1 日あたり約 500 万件です。最大 1 週間前のレコードを表示することになっています。)
事前に、助けてくれてありがとう!:)