Ranking in PostgreSQL

时间:2016-08-31 18:07:25

标签: postgresql ranking

I have a query that looks like this:

select
    restaurant_id,
    rank() OVER (PARTITION BY restaurant_id order by churn desc) as rank_churn,
    churn,
    orders,
    rank() OVER (PARTITION BY restaurant_id order by orders desc) as rank_orders

from data

I would expect that this ranking function will order my data and provide a column that has 1,2,3,4 according to the values of the column. However the outcome is always 1 in the ranking.

restaurant_id rank_churn    churn  orders   rank_orders
2217             1             75   182          1
2249             1             398  896          1
2526             1             11   56           1
2596             1             89   139          1

What am I doing wrong?

0 个答案:

没有答案