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

neustes (maximal) Datum für jede ID

Sie können das maximale Datum für jede ID-Gruppe als

auswählen
SELECT a,
    b,
    max(b) OVER (PARTITION BY a) AS c
FROM myTable
ORDER BY a,b

BEARBEITEN: Eine der möglichen Lösungen für den zweiten (bearbeiteten) Teil der Frage ist

WITH cte AS (
    SELECT a,
        b,
        max(b) OVER (PARTITION BY a) AS c,
        d
    FROM myTable
)
SELECT t1.a,
    t1.b,
    t1.c,
    t1.d,
    t2.d AS e
FROM cte t1
JOIN cte t2 ON t1.a=t2.a AND t1.c=t2.b