2012年8月15日 星期三

PL/SQL OVER 的使用方法

例如有以下員工請假資料,欲將有每個人前三筆請假資料取出(依日期發生先後為序):
員工代號   請假日期    請假時數 
0001,          2012-07-01,       8
0002,          2012-07-02,       4
0001,          2012-07-04,       8
0002,          2012-07-05,       8
0001,          2012-07-02,       8
0001,          2012-07-03,       8
0001,          2012-07-07,       8
0001,          2012-07-09,       8


SELECT * FROM (
select 員工代號,請假日期,請假時間,ROW_NUMBER() OVER (PARTITION BY 員工代號 ORDER BY 請假時數) ROWNO
from HR_DUTY
)  WHERE ROWNO<=3 ;

沒有留言:

張貼留言