包括的なタスク分析のための SELECT クエリの結合
データベース クエリでは、全体像を把握するために複数のソースからのデータを組み合わせる必要があることがよくあります。 これには、複数の SELECT
ステートメントの結果を結合することが含まれます。これは、多くのプログラミング コンテキストで重要なテクニックです。
期限と個人の割り当てが設定されたタスク データベースを含むシナリオを考えてみましょう。 目的は、各個人、タスクの合計数、期限を過ぎたタスクの数を示すレポートを生成することです。
これは、2 つの個別の SELECT
クエリを使用して実現できます。1 つは個人ごとのタスクをカウントするもの、もう 1 つは期限を過ぎたタスク (Age
が事前定義された期限 PALT
を超えている場合) をカウントするものです。 この情報を統合するために、LEFT JOIN
が使用されます。 これにより、最初のクエリのすべての個人が確実に含まれ、2 番目のクエリの期限超過タスク数が一致するようになります。結合は ks
列 (個人識別子) に基づいて行われます。
結合されたクエリは次のとおりです:
<code class="language-sql">SELECT t1.ks, t1.[# Tasks], COALESCE(t2.[# Late], 0) AS [# Late] FROM (SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks) t1 LEFT JOIN (SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks) t2 ON t1.ks = t2.ks;</code>
出力は、各個人の ks
、合計タスク数 (# Tasks
)、および期限を過ぎたタスクの数 (# Late
) をリストしたテーブルです。 COALESCE
は、個人に期限を過ぎたタスクがない場合を処理し、0
値を # Late
に割り当てます。 これにより、包括的かつ正確な概要が提供されます。
以上が2 つの SELECT クエリを組み合わせて各個人のタスクと遅延タスクを数えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。