Window-Functions

分區上的 SQL 查詢不執行

  • October 30, 2018

當我執行以下 SQL 命令時

select payee_id, start_dt, 
      row_number() over(partition by payee_id order by start_dt) as rn 
from xxx 
where rn = 1

我收到一個錯誤:

錯誤無效的標識符“rn”

請指教。

rn不能被引用,WHERE因為它是在SELECT子句中定義的。嘗試使用子查詢:

SELECT *
FROM (
   select payee_id,start_dt,
          row_number() over(partition by payee_id order by start_dt) as rn
   from xxx
) AS sub
where rn = 1;

更多閱讀,google“邏輯查詢處理順序”。

引用自:https://dba.stackexchange.com/questions/128688