按降序排列并继续使用同一组组

Order by Descending and continue with the same set of group

我希望按 DATE 的降序排列记录并继续使用同一组组,即这里的最大日期是 2018-10-25 00:00:00.000 那么接下来的 3 条记录应该是 REC = 5

REC DATE
===========================
1   2018-01-02 00:00:00.000
1   2018-01-03 00:00:00.000
1   2018-01-04 00:00:00.000
2   2018-06-01 00:00:00.000
2   2018-06-02 00:00:00.000
3   2018-03-01 00:00:00.000
3   2018-05-02 00:00:00.000
3   2018-01-03 00:00:00.000
3   2018-08-04 00:00:00.000
3   2018-10-05 00:00:00.000
4   2018-10-06 00:00:00.000
5   2018-10-25 00:00:00.000
5   2018-05-03 00:00:00.000
5   2018-09-09 00:00:00.000

这是我尝试过但没有成功的方法。

SELECT t1.REC, t1.DATE
FROM TEMP AS t1
INNER JOIN (SELECT REC, MAX(DATE) AS MaxDate
            FROM TEMP
            GROUP BY REC) AS t2
ON (t1.REC = t2.REC AND t1.DATE = t2.MaxDate)

预期结果应该是这样的:

REC DATE
===============================
5   2018-10-25 00:00:00.000
    ..........{Remaining dates of `REC` 5}
4   2018-10-06 00:00:00.000
    ..........{Remaining dates of `REC` 4}
3   2018-10-05 00:00:00.000
    ..........{Remaining dates of `REC` 3}
2   2018-06-02 00:00:00.000
    ..........{Remaining dates of `REC` 2}
1   2018-01-04 00:00:00.000
    ..........{Remaining dates of `REC` 1}

max_date 是每个 REC

的最大日期
SELECT  *, max_date = MAX(DATE) OVER (PARTITION BY REC)
FROM    yourtable
ORDER BY max_date DESC, DATE DESC