Ich habe eine Tabelle, die mehrere Datensätze eines bestimmten Benutzers mit Datetime enthält, meine Anforderung ist, dass ich nur den neuesten Datensatz durch Abfrage benötigen. Ich weiß nicht, wie ich diese Art von Daten bekomme.Erhalten Sie nur die neuesten Datensätze aus der Tabelle in SQL Server
Tabelle
Create Table tblReport(
USERID LONG, ReportDateTime Datetime
)
Aktuelle Anzeige
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
gewünschte Ausgabe
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
Meine Suche
select USERID,max(ReportDateTime) from tblReport group by USERID, ReportDateTime order by USERID
besser nutzen, um den mehr Standard „MAX (ReportDateTime) AS [ReportDateTime] "Syntax. Aber ansonsten, ja, genau das. – pmbAustin
@pmbAustin Definiere besser? Sie führen das gleiche aus. Man ist ANSI-Standard wahr, aber ich weiß nicht, ob das "besser" macht. [Schlechte Gewohnheiten zu kicken: Verwenden von AS statt = für Spalten Aliase - Aaron Bertrand] (http://sqlblog.com/blogs/aaron_bertrand/archive/2012/01/23/bad-habits-to-kick-using-as -inspe-of-for-column-aliases.aspx) – SqlZim
das ist fantastisch, wie ich fehlte? – Anjyr