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

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

DDD
發布: 2025-01-22 06:09:12
原創
364 人瀏覽過

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

擷取每位銷售代表的初步工作流程

此 SQL 查詢有效地檢索當前月份和年份內每個銷售代表的第一個工作流程記錄。 數據來自兩個表:SM_EmployeeSM_SalesRepWorkflow.

此解決方案利用了ROW_NUMBER()視窗函數。此函數根據指定的順序(此處為 workflowid)為定義的分區內的每一行(在本例中為每個銷售代表)分配唯一的排名。

這是 SQL 查詢:

<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
) ranked_workflows
WHERE rownumber = 1;</code>
登入後複製

此查詢首先為每個銷售代表的每個工作流程分配一個行號,按 workflowid 排序。 然後,外部查詢過濾此結果集,僅選擇帶有 rownumber = 1 的行,有效返回每個 salesRepId.

的第一個工作流程

範例資料與結果:

鑑於來自 SM_SalesRepWorkflow 的範例資料:

Workflowid SalesRepId QuantityAssigned QuantityLeft Month Year
WF_101 EMP_101 100 90 May 2013
WF_102 EMP_101 100 70 May 2013
WF_101 EMP_102 100 100 May 2013
WF_101 EMP_103 100 80 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板