我有一个表包含具有datetime的特定用户的多个记录,我的要求是我只需要通过查询获得最新记录。我不知道如何获得这种类型的数据。从SQL Server中的表中获取最新记录
表
Create Table tblReport(
USERID LONG, ReportDateTime Datetime
)
当前记录
USERID ReportDateTime
1 2017-04-18 21:41:33.903
4 2017-04-20 01:16:00.653
4 2017-04-26 20:00:20.497
71 2017-04-17 22:31:37.437
4 2017-04-26 20:01:20.933
225 2017-04-20 00:58:10.253
225 2017-04-25 23:09:34.433
1 2017-04-18 23:35:00.567
所需的输出
USERID ReportDateTime
1 2017-04-18 23:35:00.567
4 2017-04-26 20:01:20.933
71 2017-04-17 22:31:37.437
225 2017-04-25 23:09:34.433
我的查询
select USERID,max(ReportDateTime) from tblReport group by USERID, ReportDateTime order by USERID
最好使用更标准的“MAX(ReportDateTime)AS [ReportDateTime]“语法。但是否则,是的,就是这个。 – pmbAustin
@pmbAustin定义更好吗?他们执行相同的操作。一个是ANSI标准,但我不知道这是否使它“更好”。 [坏习惯踢:使用AS而不是=列别名 - 亚伦伯特兰](http://sqlblog.com/blogs/aaron_bertrand/archive/2012/01/23/bad-habits-to-kick-using-as -instead-of-column-aliases.aspx) – SqlZim
这太棒了,我怎么会错过? – Anjyr