2016-01-23 40 views
2

我對這個Access還是一個新手,我不知道該怎麼做。我有這樣的潛在客戶表: 我的桌子和預期的結果: enter image description hereMS Access Query - 使用最近的查詢進行計數

或者這裏的數據,不知道這是否會顯示正確:

ID Dates Status 
1 12-Sep-15 Follow up 
1 2-Jan-15 Request 
1 15-Apr-14 Letter 
2 1-Sep-15 Request 
2 1-Apr-15 Letter 
3 12-Dec-15 Follow up 
3 11-Sep-14 Request 
3 12-Mar-14 Letter 
4 14-Jan-16 Letter 
4 12-Dec-15 Email 
5 12-Jan-16 Letter 
5 1 Des 2015 Email 

而結果會是這樣:

Follow up 2 
    Request 1 
    Letter 2 

我第一次嘗試這樣的SQL:

SELECT id, status, Max(dates) AS TEST 
FROM Sample 
GROUP BY id, status; 

這仍然會給我原來的表。我希望它會返回最新日期的ID和狀態。

任何幫助將深表謝意。非常感謝你 !!

+0

你能解釋一下導致一些細節,比如你在「Letter」中獲得「2」的位置? –

+0

嗨約阿希姆。對於每個客戶ID,我需要選擇最近的日期來總結狀態。在這種情況下,「跟進」是客戶ID 1和3的最新狀態,「Letter」是客戶ID 4和5的最新狀態 - 因此他們都有2個計數。 –

回答

0

如果你想了解最新日期標識和狀態,那麼你就需要使用子查詢的ID來獲得最大的日期和編號和日期加入你的表就可以了:

SELECT s.id, s.status, t.maxdate 
FROM status as s 
INNER JOIN 
(SELECT id, Max(dates) AS maxdate 
FROM Sample 
GROUP BY id) as t ON t.id=s.id and t.maxdate=s.dates 
+0

謝謝,影子!它的工作原理 - 除了FROM(第2行)中的「狀態」將需要更改爲Sample。我現在越來越多地學習如何構建這個! –