」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何為SQL中的每個銷售代表獲得第一個工作流程?

如何為SQL中的每個銷售代表獲得第一個工作流程?

發佈於2025-03-24
瀏覽:585

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

從SQL數據庫中獲取每個銷售代表的第一個工作流程

本文探討如何從數據庫表中檢索每個銷售代表的第一行數據,重點關注每個代表存在多個工作流程的情況,目標是獲取本月和本年的初始工作流程。

為此,我們可以使用ROW_NUMBER()函數,如下所示:

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;

此查詢首先按銷售代表ID對每個工作流程記錄分配行號。隨後,它只選擇行號等於1的記錄。

示例用法

考慮以下數據:

workflowidsalesRepIdquantityAssignedquantityLeftmonthyear
WF_101EMP_10110090May2013
WF_101E MP_102100100May2013
WF_101EMP_10310080May2013
WF_102EMP_10110070May2013

執行查詢將檢索以下結果:

workflowidsalesRepIdquantityAssignedquantityLeftmonthyear
WF_101EMP_10110090May2013
WF_101EMP_102100100May2013
WF_101EMP_10310080May2013

這些行表示指定月份和年份中每個代表的第一個工作流程。 請注意,workflowid 的排序決定了“第一個”工作流程。如果需要基於其他列(例如日期)確定第一個工作流程,則需要調整 ORDER BY 子句。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3