分区中的倒序

Reverse order in partitions

我有这个问题

select
*,
row_number() over w,
sum(satisfied::integer) over w,
round(avg(satisfied::integer) over w, 3)*10
from compositions_rating
window w as (partition by user_id order by rating_date asc)

这给了我这个(占据了 user_id = 1 的部分分区)

但我也想在这样的分区中以相反的顺序进行查询

这可能是个愚蠢的问题,但我该怎么做呢?

更新: 我最好的尝试是这个

select
*,
row_number() over w,
sum(satisfied::integer) over w,
round(avg(satisfied::integer) over w, 3)*10
from compositions_rating
window w as (partition by user_id order by rating_date desc rows between current row and UNBOUNDED following)

但是在这种情况下,行号按正常顺序排列,正如它们应该的那样

UPD2: 如果在分区后订购,您会得到什么

对我来说,您似乎已经有了预期的结果,但只是想事后更改完整的顺序...那么,这不是解决了您的问题吗?

SELECT
    *
FROM (
   -- <your query>
) s
ORDER BY user_id, rating_date DESC