問題タブ [mysql-dependent-subquery]
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.
mysql - MySQLの「すべての派生テーブルには独自のエイリアスが必要です」というエラーは何ですか?
このクエリをMySQLで実行しています
そしてそれはこのエラーを与えています:
すべての派生テーブルには、独自のエイリアスが必要です。
このエラーの原因は何ですか?
mysql - 従属サブクエリを含む MySQL クエリに時間がかかりすぎる
クエリを高速化するには、SQL の専門家が必要です。
数量と価格の 2 つのテーブルがあります。数量は、15 分間隔の 2 つのタイムスタンプ間の数量値を記録します。価格は、特定の価格タイプの特定のタイムスタンプの価格を記録し、5 分ごとに価格 5 レコードがあります。
2 つのタイムスタンプ間の各期間 (時間または日など) の合計価格を計算する必要があります。これは、各期間の (数量に 15 分の数量ウィンドウ内の 3 つの価格の平均を掛けた値) の合計によって計算されます。
たとえば、1 日の合計料金を 1 時間ごとに表示したいとします。結果セットの各行の合計価格値は、その時間の 4 つの 15 分間のそれぞれの合計価格の合計です。また、15 分間ごとの合計価格は、その期間の数量値に、その数量の期間内の 3 つの価格 (5 分ごとに 1 つ) の平均を掛けて計算されます。
私が使用しているクエリと結果は次のとおりです。
これよりもはるかに高速にクエリを実行する必要がありますが、それは可能ですが。EXPLAIN EXTENDED の結果は次のとおりです ...
従属サブクエリがキーのタイムスタンプ フィールドを使用しておらず、クエリが大量の行をスキャンしていることに気付きました。
これを非常に速く実行するのを手伝ってくれる人はいますか?
以下は、スキーマを作成して大量のデータを入力するために必要な SQL ステートメントです (2 か月分)。
mysql - PHPで「マルチコマンド」mysqlクエリをコーディングする方法
この質問はmysqlクエリ自体に関するものではなく、phpから実行する方法に関するものであることに注意してください。より良い用語がないため、私はそれをマルチコマンドクエリと呼びました。次のように、mysqlコマンドラインクライアントとphpmyadminで完全に実行されるクエリがあります。
同じことをphpスクリプトで実行したいのですが、私の人生ではできません。geminiトランザクションを使用してみましたが、1つの結果が得られます...コマンドラインとphpmyadminにより、意図したとおり、より多くの結果が得られます。
私は経験があり、通常のmysql_fetch_object mysql_fetch_arrayビットに精通しています...しかし、このクエリを実行するにはどうすればよいですか?
何かのようなもの
...動作しません。
私のテーブル構造は単純です:
mysql - MySQL: WHERE 句に NOT IN を含む依存サブクエリが非常に遅い
open Id login を使用してアプリケーションからユーザーの詳細を監査しています。ユーザーが初めて OPEN ID にログインすると、サインアップと見なされます。この details を使用して、監査サインイン レポートを生成しています。サンプル テーブル データ。
このテーブルでは、プロバイダーに基づいて、既にSIGN_UPされた" SIGN_IN " されたユーザー数を除外したいと考えています。
表示 テーブルの作成
このクエリを使用しています。
出力の説明:
クエリ出力:
20 万行の実行には 40 分以上かかります。
私の仮定は、依存サブクエリ出力の総数で各行をチェックすることです。
このクエリに関する私の仮定。
依存クエリの出力が大きい場合、実行に非常に時間がかかります。このクエリを改善するにはどうすればよいですか?
mysql - MySQL:ネストされたサブクエリを使用した非常に遅いクエリ
質問:
説明の結果:
このクエリに関するアドバイスはありますか?あなたの答えは本当にありがたいです!
mysql - 依存サブクエリを使用して MySQL クエリを最適化する
依存サブクエリを排除する方法を見つける必要があります。
複数の言語を使用できる記事の表があります。単純化されたテーブル構造は次のとおりです。
ID、タイトル、言語、translation_set_id
記事に翻訳がない場合、translation_set_id は 0 であるか、基本翻訳の ID に設定されています。したがって、B は元の英語の記事であり、B_ru は記事のロシア語訳です。
すべてのロシア語の記事を返すことができるクエリが必要です。それらが存在しない場合は、元の言語の記事を返すことができます。だからそれは戻るでしょう。
これまでのところ、私はこれを持っています:
ただし、これは行ごとにサブクエリを実行し、依存クエリを作成します。依存クエリを削除する方法はありますか?
更新: Neels のソリューションが機能しているようです、ありがとう!
しかし、複数言語のフォールバックに対するソリューションを一般化する方法があるかどうか疑問に思っていましたか? 最初にフランス語を取得してみてください。それが存在しない場合はロシア語を試してください。存在しない場合は、基本翻訳 (元の作成言語に応じて英語またはその他) を表示しますか?
UPDATE2: Neel のソリューションと DRapp のソリューションを使用して、更新された質問に必要なクエリを作成しました。ここで見つけることができますhttp://www.sqlfiddle.com/#!2/28ca8/18しかし、完全を期すために、ここでもクエリを省略します。
改訂データ:
2 つの相関サブクエリを含む元のクエリ:
改訂されたクエリ:
mysql - サブサブクエリからの親クエリ内のテーブルの参照
ユーザーのリストを実行し、連絡先の項目の種類ごとにグループ化された、各ユーザーが行った連絡先のリストを 1 つのフィールドに抽出したいと考えています。このようなもの:
このクエリはほとんど機能しています
しかし、私は得る
ネストされたクエリから u.id を使用することはできません。それを解決するための回避策を知っていれば幸いです。MySQL 変数はどうですか? u.id の値をサブサブクエリの変数に取得して、ic.user_id = @user_id を使用するにはどうすればよいですか?
重要な注意:フィールド セクションでサブクエリを使用する必要があります。カウント文字列に関連する事前計算されたすべての users_id を使用して JOIN で一時テーブルを作成することにより、クエリを機能させることができます (Giulio の回答を参照)。私はそれを知っていますが、フィールドが多すぎて、ユーザーのテーブル全体でそれを行い、後でインデックスを付けずに結合を作成できます。そのため、クエリ実行の最後のフェーズで、MySQL に、WHERE と LIMIT によって既にフィルタリングおよび制限されている user_ids のみを使用してサブクエリを実行するようにします。私は自分自身を説明したことを願っています。
ありがとう!
mysql - MySQL - これらの相関/依存サブクエリを回避できますか?
最適化している MySQL クエリがあり、現在、2 つの依存/相関サブクエリがあります。
これらを回避するために書き直すことが可能かどうか疑問に思っていましたか?
簡単な概要: スライドが作成され、バージョン化された変更がサポートされます。その後、スライド (およびその他のエンティティ) が発行されます。発行されるスライドとバージョンは、pp_published_slides テーブルに設定されます。パブリッシュ オブジェクト全体は pp_publish に保存されます。
上記の SQL は、スライド オブジェクトを読み込み、最新バージョン、公開時期などに関する追加データを含めます。
これがsqlfiddle http://sqlfiddle.com/#!2/902fb4/1です
私のSQL知識の限界で、どんな助けも大歓迎です....
mysql - そうでない依存サブクエリを持つ MySQL クエリのパフォーマンスを改善するにはどうすればよいですか?
「隣接リスト」メソッドを使用してツリー階層を定義するMySQLのテーブルを使用していますが、これは私の目的には問題ありません。
(高速)クエリを使用して、すべての子の最大値を計算する必要があります
時々、私は幸運ではなく、子の子孫で作業する必要があります (定義されており、常にそのツリーのブランチにある葉ノードを参照しています)。
この 2 番目のクエリは非常に低速です。特定の親の子の数は非常に少なく、10 を超えることはめったになく、20 を超えることもありません。EXPLAIN はサブクエリが依存していると言っていますが、私の目には相関サブクエリのようには見えません。MySQL 5.1 でテストしています。nodes.id
が主キーで、 に BTREE インデックスがありnodes.parent
ます。このクエリの速度を向上させる方法はありますか?