從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的記錄。
示例用法
考慮以下數據:
workflowid | salesRepId | quantityAssigned | quantityLeft | month | year |
---|---|---|---|---|---|
WF_101 | EMP_101 | 100 | 90 | May | 2013 |
WF_101 | E MP_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
子句。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3