0
我有一個表(Employee_Training)具有以下欄目:條件分區
- EMPLOYEE_NUMBER
- COURSE_ID
- Date_Completed
我有這個疑問,我用它來展示訓練,它會過濾出重複的Date_Completed,只顯示最近的日期:
SELECT x.*
FROM (SELECT t.*, ROW_NUMBER() OVER
(PARTITION BY t.Course_ID, t.Employee_Number
ORDER BY t.Date_Completed DESC) AS rank
FROM Employee_Training t) x
WHERE x.rank = 1
有什麼辦法來格式化這個查詢,而不是將分區應用到特定的Course_ID,比如1000004?我希望看到所有的行,其中COURSE_ID = 1000004.
下面是一些樣本數據:
只使用一個選擇都在該表:
557 | 1000002 | 2014-11-18
557 | 1000002 | 2009-7-6
557 | 1000004 | 2011-1-15
557 | 1000004 | 2005-9-22
557 | 1000004 | 2004-4-17
557 | 1000010 | 2014-6-10
557 | 1000010 | 2013-6-09
557 | 1000010 | 2012-6-10
用我原來的查詢我得到這些結果:
557 | 1000002 | 2014-11-18
557 | 1000004 | 2011-1-15
557 | 1000010 | 2014-6-10
我想看看(只有1000004不會被過濾掉):
557 | 1000002 | 2014-11-18
557 | 1000004 | 2011-1-15
557 | 1000004 | 2005-9-22
557 | 1000004 | 2004-4-17
557 | 1000010 | 2014-6-10
謝謝。
謝謝。