ホームページ >データベース >mysql チュートリアル >SQL で各営業担当者の最初のワークフローを取得するにはどうすればよいですか?

SQL で各営業担当者の最初のワークフローを取得するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-22 06:16:08751ブラウズ

How to Get the First Workflow for Each Sales Representative in SQL?

SQL データベースから各営業担当者の最初のワークフローを取得します

この記事では、今月と今年の最初のワークフローを取得することを目的として、各営業担当者に複数のワークフローがある状況に焦点を当てて、データベース テーブルから各営業担当者のデータの最初の行を取得する方法を検討します。 。

これには、以下に示すように ROW_NUMBER() 関数を使用できます。

<code class="language-sql">SELECT *
FROM (
    SELECT 
        workflowid, 
        salesRepId, 
        quantityAssigned,
        quantityLeft, 
        month, 
        year,
        ROW_NUMBER() OVER (PARTITION BY salesRepId ORDER BY workflowid) AS rownumber
    FROM sm_salesRepWorkflow
) AS RankedWorkflows
WHERE rownumber = 1;</code>

このクエリは、まず営業担当者 ID ごとに各ワークフロー レコードに行番号を割り当てます。その後、行番号が 1 に等しいレコードのみが選択されます。

使用例

次のデータについて考えてみましょう:

workflowid salesRepId quantityAssigned quantityLeft month year
WF_101 EMP_101 100 90 May 2013
WF_101 EMP_102 100 100 May 2013
WF_101 EMP_103 100 80 May 2013
WF_102 EMP_101 100 70 May 2013

クエリを実行すると、次の結果が取得されます:

workflowid salesRepId quantityAssigned quantityLeft month year
WF_101 EMP_101 100 90 May 2013
WF_101 EMP_102 100 100 May 2013
WF_101 EMP_103 100 80 May 2013

これらの行は、指定された月と年の各代表者の最初のワークフローを表します。 workflowid の順序によって「最初の」ワークフローが決定されることに注意してください。他の列 (日付など) に基づいて最初のワークフローを決定する必要がある場合は、ORDER BY 句を調整する必要があります。

以上がSQL で各営業担当者の最初のワークフローを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。