我有一个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我查看了其他一些问题,但无法确定我的是否重复,如果您认为是,请告诉我,我会在那里看看!答案 0 :(得分:2)
只需使用group by
:
SELECT ServiceIdentifier as ReceivedFrom, max(EventDate) as EventDate
FROM [dbo].AttendanceEvent
where ServiceIdentifier in (5001, 5003, 5004)
group by ServiceIdentifier;