显示最近的日期+唯一ID

时间:2014-09-11 04:19:57

标签: sql sql-server-2008

我有一个SQL脚本(使用SQL Server 2008):

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。

我想优化脚本,只为每个组织提取最新日期。

serviceidentifier给我1行。

EventDate所在的日期格式; 2014-08-23 19:31:44.163如果这会影响任何事情。

非常感谢任何帮助和建议!

E.H

P.S我查看了其他一些问题,但无法确定我的是否重复,如果您认为是,请告诉我,我会在那里看看!

1 个答案:

答案 0 :(得分:2)

只需使用group by

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