SQL中選取每個分組的第一行
在資料庫管理中,經常需要檢索特定資料集以進行分析或報告。這包括選擇表中每個記錄組的第一行。
假設您有兩個表格:
問題:
您的任務是選擇目前月份和年份中SM_SalesRepWorkflow表中每個銷售代表(SalesRepId)的詳細資料的第一行。
解:
為此,您可以使用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 subquery WHERE rownumber = 1;</code>
解釋:
此查詢有效地標識了指定月份和年份中每個銷售代表的第一行記錄。它提供了一個簡潔的輸出,如問題陳述所示:
透過應用ROW_NUMBER()函數,您可以有效地檢索表中每個分組的第一行數據,從而根據所需參數進行進一步分析或報告。
以上是如何在SQL中選擇每組的第一行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!