首頁 >資料庫 >mysql教程 >如何用SQL取得每個銷售代表的第一個工作流程?

如何用SQL取得每個銷售代表的第一個工作流程?

Patricia Arquette
Patricia Arquette原創
2025-01-22 06:16:08749瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn