2014-09-11 44 views
1

我有一個SQL腳本(使用SQL Server 2008):顯示最近的日期+唯一的ID

SELECT distinct 
    ServiceIdentifier as ReceivedFrom, EventDate 
FROM 
    [dbo].AttendanceEvent             
WHERE 
    ServiceIdentifier in (5001, 5003, 5004) 

,顯示date(柱:EventDate)和組織機構代碼(柱:ServiceIdentifier)的每一行中我的桌子(名字:AttendanceEvent)。我使用where serviceidentifier in (x,y,z)子句輸入我想查看的特定組織。

這個腳本非常方便,不同之處在於它會將每個單獨的記錄拉到太多,超出我的SQL時間。

我想優化腳本以只拉取每個組織的最近日期。

給我1行serviceidentifier

EventDate所在的日期格式是; 2014-08-23 19:31:44.163如果這影響什麼。

任何幫助和建議非常感謝!

E.H

P.S我通過一些其他的問題,看了,但不能真正告訴我們,如果我的是重複的,如果你認爲它是,請讓我知道,我會在那裏尋找!

回答

2

只需使用group by

SELECT ServiceIdentifier as ReceivedFrom, max(EventDate) as EventDate 
FROM [dbo].AttendanceEvent             
where ServiceIdentifier in (5001, 5003, 5004) 
group by ServiceIdentifier; 
+0

謝謝 - 工作brillantly! :) – user1300011 2014-09-11 05:07:16