ホームページ >データベース >mysql チュートリアル >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 サイトの他の関連記事を参照してください。