問題タブ [union-all]
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 - ソートせずにUNIONを実行するにはどうすればよいですか?(SQL)
UNION
2つの結果を結合して重複を削除しますが、重複UNION ALL
は削除しません。
UNION
また、最終出力を並べ替えます。
私が欲しいのは、UNION ALL
重複や並べ替えがないことです。それは可能ですか?
これは、最初のクエリの結果を最終結果の上に置き、2番目のクエリを一番下に配置する(そしてそれぞれが個別に実行されるかのように並べ替える)ためです。
sql - UNION ALLを持つクエリから最適化されたページ付けリストを取得するにはどうすればよいですか?
UNIONALLによって2つのテーブルから作成されたクエリがあります。結果は、(Webアプリケーションの一般的なリストのように)順序付けてページ付けする必要があります。
元のクエリ(簡略化)は次のとおりです。
問題は、2つのテーブルにそれぞれ100万行を超える行があり、クエリが非常に遅いことです。
UNION ALLから最適化されたページ付けリストを取得するにはどうすればよいですか?
ポストデータ:
Stack Overflowの検索を使用しましたが、これに似た質問がいくつか見つかりましたが、答えが正しくないか、質問がまったく同じではありません。2つの例:
MySQLクエリでのUNION操作とLIMIT操作の組み合わせ
Stack Overflowでは、誰もこの質問に答えられなかったことに驚いています。たぶん、このクエリをより効率的に行うことは不可能ですか?この問題の解決策は何でしょうか?
sql-server - UNIONを使用するデータベース内のすべてのオブジェクトを検索する方法
UNIONキーワードを含むすべてのビューとSPを見つけるにはどうすればよいですか?
(別の質問:どのシステムテーブルにSPとビューのテキストが保存されているか)
ありがとうございました
mysql - 大規模なデータセットを使用して MYSQL で完全結合をエミュレートする
共通のフィールドに基づいてデータを結合する必要がある 3 つのテーブルがあります。
サンプル疑似テーブル定義:
barometer_log (デバイス、圧力フロート、sampleTime タイムスタンプ)
temperature_log (デバイス整数、温度フロート、sampleTime タイムスタンプ)
Magnitude_log (デバイス int、マグニチュードfloat、utcTime タイムスタンプ)
各テーブルには最終的に数十億行が含まれますが、現在はそれぞれ約 500,000 行が含まれています。
テーブルからのデータ (FULL JOIN) を結合して、sampleTimeが 1 つの列 (COALESE) としてマージされ 、デバイス、サンプル時間、圧力、温度、マグニチュードとして行が得られるようにする必要があります。
デバイスと開始日と終了日を指定してデータをクエリできるようにする必要があります 。
MySql full join (union) and order on multiple date columnsおよびMySql full join (union) and order on multiple date columnsで提案されているように、RIGHT 結合と LEFT 結合を使用して別の UNION ALL 手法を試しましたが、クエリに時間がかかりすぎて、停止するか、何時間も実行した後に一時ファイルのサイズに関するエラーをスローします。3 つのテーブルにクエリを実行し、許容できる時間枠内でそれらの出力をマージするにはどうすればよいですか?
提案されている完全なテーブル定義を次に示します。注: デバイス テーブルは含まれていません。
マグニチュード_ログ
barometer_log
温度_ログ
sql - SQL - 複数の select/union-alls によって作成された結果セットにテーブルを結合することは可能ですか?
SQL クエリで一時テーブルまたはテーブル変数を使用できないいくつかの制限に対する回避策 (ハック) を見つけようとしています。
私はいくつかの必要なフィールドを欠いている実際のテーブル (技術的には、設計が不十分なテーブルの UNPIVOT から生じる派生テーブルです) を持っています。データベースの問題を解決できるまで、これらのフィールドを結果にハードコーディングする必要があります。
次のようなテーブルがあるとします。
次のようないくつかのフィールドに参加する必要があります。
結合すると、次のようになります。
私の質問は次のように作成された結果セットに tblEntity を結合できますか?
入会は可能ですか?もしそうなら、構文は何ですか?
mysql - 2つのテーブルを検索し、用語の出現順に並べ替えます
このクエリを使用して、2つのSQLテーブルを検索します。結果を発生順に並べ替える方法を探しています。これは私の質問です:
結果を注文するための最良の方法はどれですか?
php - UNIONALLSQLクエリでより多くの値を取得する
このクエリを使用して、2つのテーブルから結果を取得しています。
からさらにいくつかの値を選択したいと思いますwp_forum_threads
。のような値subject
。これどうやってするの?単に後ろに追加するだけでid
は機能しません。その場合、クエリは結果を返しません。
sql - 事前に結合されたテーブルを別のテーブルと組み合わせる
事前に結合されたテーブルを別のテーブルと並べて結合しようとしていますが、機能しないようです。
コードは次のとおりです。
この行に何か問題があります
エラーは次のとおりです。
最後に、それが含まれるテーブルが必要です。それに加えて"domainid, domainstart, domainend, ddid, confid, chainid, pdbcode from conformer and the chain id"
、などの別のテーブルからの新しい列のセットが必要"pdbcode from cath_domains, cathbegin, cathend"
です。
適合者とcath_domainsのpdbcodeは互いに一致しているため、相互参照したいと思います。
私はそれを間違った方法でやっていますか?
sql - CTEのUNIONALL
ページングに使用しているCTEでUNIONALLを動作させようとしています。2つのテーブルから一連の基準に一致するすべてのレコードを取得してから、結果をページングする必要があります。最初のテーブルのCTEは次のようになります。
2番目のテーブルのページングSQL(正常に機能します)は次のとおりです。
結合されたページデータについて、私は次のようなことを試しました。
ただし、これによりエラーが発生します。
All queries combined using a UNION, INTERSECT or EXCEPT operator must have an equal number of expressions in their target lists.
UNION ALLは、特に結合の場合、混乱を招く可能性があることは知っていますが、基本的に2つのテーブルからINTキーのリストを取得し、必要なデータを含む3番目のテーブルに結合します(両方のテーブルのキーはテーブルの結合された列に存在しData
ます。
sql - 「UNION ALL」ビューでのクエリが遅い
次のように、基本的に を含む 2 つのSELECT
クエリで構成される DB ビューがありUNION ALL
ます。
問題は、フォームを選択することです
その上で実行するのは非常に遅いです。
SELECT #1 と #2 はどちらもかなり高速で、適切にインデックスが付けられているなどです。ビュー v1 と v2 を次のように作成すると、次のようになります。
そして、上記と同じ WHERE 条件を使用した同じ SELECT は、個別に問題なく動作します。
どこに問題があり、それを解決する方法についてのアイデアはありますか?
(ちなみに、これは最近の Postgres バージョンの 1 つです。)
編集:匿名化されたクエリプランの追加(素晴らしいツールへのリンクについては@filipremに感謝します):
v1:
v2:
v:
juliet
ですtime
。