首頁 > 資料庫 > mysql教程 > 如何使用 ROW_NUMBER() 在 SQL 中選擇每個群組的第一行?

如何使用 ROW_NUMBER() 在 SQL 中選擇每個群組的第一行?

Susan Sarandon
發布: 2025-01-22 06:13:14
原創
603 人瀏覽過

How to Select the First Row of Each Group in SQL Using ROW_NUMBER()?

取得每組的第一行記錄

在SQL中,檢索每個唯一分組的第一筆記錄是一項常見的任務。考慮一下這種情況,我們有兩個表,SM_Employee和SM_SalesRepWorkflow。透過組合這兩個表,我們希望為當前月份和年份的每個銷售代表從SM_SalesRepWorkflow中選擇第一行信息,並按SalesRepId排序。

為了實現這一點,我們可以利用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
)
WHERE rownumber = 1;</code>
登入後複製
  • 子查詢依據salesRepId對每個銷售代表計算行號,並依workflowid升序排序。
  • 然後,主查詢過濾子查詢,只包含rownumber為1的行,確保我們檢索每個salesRepId的第一行。

透過使用ROW_NUMBER()函數,我們可以有效率地選擇每個銷售代表的初始記錄,同時遵守指定的條件。這種技術在需要分組和選擇每個組的第一行的各種場景中都非常有用。

以上是如何使用 ROW_NUMBER() 在 SQL 中選擇每個群組的第一行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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