這是我的第一個問題,我沒有找到任何答案來解決我的問題,所以我決定打開一個新的問題。如何獲取MSACCESS表中的第一個和最後一個事件?
我使用的是從excel文件導入的表「訪問」,所以沒有主鍵,就像這樣:
ID | Enter_date | Exit_date 10 | 08/06/2015 | 08/06/2015 11 | 08/06/2015 | 09/06/2015 12 | 08/06/2015 | 09/06/2015 10 | 18/06/2015 | 30/06/2015 10 | 02/07/2015 | 03/07/2015 11 | 12/06/2015 | 14/06/2015 12 | 10/06/2015 | 14/06/2015 12 | 02/07/2015 | 03/07/2015
所以,我試圖創建一個查詢選擇在桌子上的最後一個寄存器ID的第一個寄存器,忽略中間寄存器,用於更好地解釋我期待這樣的結果:
ID | Enter_date | Exit_date 10 | 08/06/2015 | 08/06/2015 10 | 02/07/2015 | 03/07/2015 11 | 08/06/2015 | 09/06/2015 11 | 12/06/2015 | 14/06/2015 12 | 08/06/2015 | 09/06/2015 12 | 02/07/2015 | 03/07/2015
我開始了一個代碼,我可以得到FIR ST登記,但問題是最後的= /因爲有些ID的有3人2行:
SELECT k.ID, k.Enter_date, k.Exit_date
FROM
(SELECT ROW_NUMBER() OVER (PARTITION BY ID ORDER BY ID) AS RowNo,
ID, Enter_date, Exit_date FROM Access)k
WHERE k.RowNo=1
寄存器是由輸入日期還是退出日期表示的? –
在「註冊」我的意思是當id出現在桌子上。每次出現的id都是這個id的註冊表。無論日期如何,每一行都是一個寄存器。 –
您的查詢如何工作? MS Access不支持'row_number'。如果還需要'as'作爲表別名。 –