row_number()、rank()、dense_rank()这三个分析函数的区别实例

SQL> select region_id, customer_id, sum(customer_sales) total,
 2         rank() over(order by sum(customer_sales) desc) rank,
 3         dense_rank() over(order by sum(customer_sales) desc) dense_rank,
 4         row_number() over(order by sum(customer_sales) desc) row_number
 5    from user_order
 6   group by region_id, customer_id;

REGION_ID   CUSTOMER_ID    TOTAL         RANK     DENSE_RANK   ROW_NUMBER
---------- -----------   ----------   ---------- ----------  ----------

  8          18          1253840         11          11         11
  5           2          1224992         12          12         12
  9          23          1224992         12          12         13
  9          24          1224992         12          12         14
 10          30          1216858         15          13         15

你可能感兴趣的:(rank,dense_rank,row_numbe)