Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL-Abfrage, um den letzten Datensatz jeder Minute zu erhalten

Sie können die folgende Abfrage verwenden:

SELECT ID, brandname, cdt, udt, brandstatus, addedby
FROM (
  SELECT ID, brandname, cdt, udt, brandstatus, addedby,
         ROW_NUMBER() OVER (PARTITION BY brandname, 
                                         CAST(udt AS DATE),
                                         CONVERT(VARCHAR(5), udt, 114) 
                            ORDER BY udt DESC) AS rn
  FROM brands) AS t
WHERE t.rn = 1

Dieser Teil:

CONVERT(VARCHAR(5), udt, 114)

wird verwendet, um Stunde und Minute aus udt zu extrahieren Feld.