分区中的倒序
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
我有这个问题
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