複数の SELECT ステートメントの結合
前述したように、それぞれが制限する複数の SELECT ステートメントを結合しようとすると問題に直面しています。結果を 1 行にまとめます。 UNION ALL を使用する場合、LIMIT 句が結合プロセスを中断するように見えるため、問題が発生します。
これを解決するには、括弧を使用して個々の SELECT ステートメントを囲みます。これにより、結合が正しく実行されることが保証されます。これは、UNION のドキュメントでは、結合の結果ではなく部分式に適用するには、ORDER BY 句と LIMIT 句を括弧で囲む必要があると明示的に記載されているためです。
変更方法は次のとおりです。クエリ:
(SELECT result FROM foo.table LIMIT 1) UNION ALL (SELECT result FROM bar.table LIMIT 1) UNION ALL (SELECT result FROM doo.table LIMIT 1)
この構文は、LIMIT 句が適用されて、各サブステートメントが個別に処理されることを保証します。個人の結果です。次に、個々の行の結果に対して結合が実行され、スキーマ名と一致する予想される行数を含む単一の列が得られます。
以上がSQL で複数の SELECT ステートメントを LIMIT 1 と組み合わせるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。